@adiakys/feeling-lucky 0.2.0 → 0.3.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.
- package/README.md +53 -1
- package/dist/config/types.d.ts +5 -0
- package/dist/{de-B56NsnDF.js → de-CmzpGbNK.js} +11 -1
- package/dist/developer/panel.d.ts +1 -0
- package/dist/developer/settings.d.ts +1 -0
- package/dist/{es-9iWwCe8s.js → es-k_kS6Fn2.js} +11 -1
- package/dist/feeling-lucky.iife.js +395 -243
- package/dist/feeling-lucky.js +17 -41
- package/dist/{fr-Y2BcCS3U.js → fr-GuCZB1l4.js} +11 -1
- package/dist/games/cards/table.d.ts +3 -1
- package/dist/{i18n-it2FlmVZ.js → i18n-Cid8bj2R.js} +15 -5
- package/dist/icons-DTaPp44c.js +863 -0
- package/dist/{it-CNSOLgaT.js → it-BNztlqHd.js} +11 -1
- package/dist/locales/de/cards.d.ts +7 -0
- package/dist/locales/de/developer.d.ts +3 -0
- package/dist/locales/en/cards.d.ts +7 -0
- package/dist/locales/en/developer.d.ts +3 -0
- package/dist/locales/es/cards.d.ts +7 -0
- package/dist/locales/es/developer.d.ts +3 -0
- package/dist/locales/fr/cards.d.ts +7 -0
- package/dist/locales/fr/developer.d.ts +3 -0
- package/dist/locales/it/cards.d.ts +7 -0
- package/dist/locales/it/developer.d.ts +3 -0
- package/dist/mount-CMm0qSYk.js +6257 -0
- package/dist/multiplayer/blackjack.d.ts +35 -0
- package/dist/multiplayer/client.d.ts +55 -0
- package/dist/multiplayer/holdem.d.ts +21 -0
- package/dist/multiplayer/index.d.ts +2 -0
- package/dist/multiplayer/seats.d.ts +16 -0
- package/dist/multiplayer/shared.d.ts +33 -0
- package/dist/multiplayer-CN0t0j_F.js +502 -0
- package/dist/{panel-tWJMt9kl.js → panel-BVgq3Cm5.js} +158 -145
- package/dist/resolve-Dc48n2Jo.js +28 -0
- package/dist/room/room.d.ts +7 -1
- package/dist/runtime/context.d.ts +2 -1
- package/package.json +2 -2
- package/dist/mount-CBUkAcVV.js +0 -7109
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.defineProperty,n=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},r=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r},i=async e=>typeof e==`function`?e():e;async function a(e){let[t,n,r,a,o,s,c]=await Promise.all([i(e.prizes),e.locale===void 0?void 0:i(e.locale),e.messages===void 0?{}:i(e.messages),e.player===void 0?null:i(e.player),e.developer!==void 0&&i(e.developer),e.logo===void 0?void 0:i(e.logo),e.dealers===void 0?void 0:i(e.dealers)]);if(!t.length)throw Error(`feeling-lucky: at least one prize is needed`);return{prizes:t,locale:n,messages:r,player:a,logo:s,dealers:c,developer:o===!1?null:{passwordHash:o===!0?void 0:o.passwordHash},onWin:e.onWin,onClaim:e.onClaim}}function o(...e){let t={};for(let n of e)for(let[e,r]of Object.entries(n)){let n=t[e];t[e]=typeof r==`object`&&typeof n==`object`?o(n,r):r}return t}var s=n((()=>{})),c,l=n((()=>{c={games:{blackjack:{name:`Blackjack`,summary:`Beat the dealer without going over 21`,rules:`Place up to 5 chips of one prize on the circle in front of your seat: every chip is of the first one's prize. Then beat the dealer without going over 21; the dealer stands on 17. On your first two cards you can double, with a second stack of chips and one card only, or split two cards of the same value into two hands with a stack each; after a split the best hand counts, split aces take one card each. Winning the hand pays the chips' prize: a small prize, a big prize with a dealt blackjack, an ace with a ten or a picture card. The blackjack of spades, ace and jack of spades, is the jackpot.`},holdem:{name:`Texas Hold'em`,summary:`The best hand against the dealer`,rules:`You and the dealer get two cards, then the three of the flop come out: call or fold. If you call, turn and river follow and the best five-card hand wins. Winning with a high card, a pair, two pair or three of a kind pays a small prize, with a straight or better a big prize; the royal flush is the jackpot. Folding loses the hand.`}},cards:{you:`You`,dealer:`Dealer`,deal:`Deal`},blackjack:{print:`Dealer stands on 17 · Blackjack of spades: jackpot`,hit:`Hit`,stand:`Stand`,double:`Double`,split:`Split`,bet:`Place a {prize} chip`,result:{bust:`Bust`,lose:`Dealer wins`,win:`You beat the dealer`,dealerBust:`Dealer busts`,natural:`Blackjack!`,spades:`Blackjack of spades!`}},holdem:{print:`The dealer plays every hand · Royal flush: jackpot`,call:`Call`,fold:`Fold`,hands:{highCard:`High card`,pair:`Pair`,twoPair:`Two pair`,trips:`Three of a kind`,straight:`Straight`,flush:`Flush`,fullHouse:`Full house`,quads:`Four of a kind`,straightFlush:`Straight flush`,royalFlush:`Royal flush`},result:{folded:`You folded`,won:`You win with {hand}`,lost:`Dealer wins with {hand}`,split:`Split`}},detail:{blackjack:{win:`hand won`,dealerBust:`dealer bust`,natural:`dealt blackjack`,spades:`blackjack of spades`},holdem:`won with {hand}`}}})),u,d=n((()=>{u={developer:{title:`Developer controls`,restore:`Open developer controls`,minimize:`Minimize to icon`,close:`Close developer controls`,password:`Password`,unlock:`Unlock`,wrongPassword:`Wrong password.`,hint:`Ctrl+Shift+L opens and closes this panel. Theme and language change at once; game settings apply when the game restarts.`,game:`Game`,multiplier:`Multiplier`,daily:`Daily value`,result:`Result`,automatic:`Automatic`,loss:`Loss`,win:`Win`,jackpot:`Jackpot`,decidedBy:`The advanced setting “{field}” decides the result.`,advanced:`Advanced`,field:{segment:`Segment`,prize:`Prize`,combination:`Combination`,number:`Number`,violet:`Violet orb`,pocket:`Pocket`,award:`Variant`,storm:`Storm number`,booster:`Booster segment`},option:{nothing:`Nothing`,award:`{tier} · {award}`,pair:`Pair of logos`,logos:`Three logos`,sevens:`Three sevens`,infinities:`Three infinities`,hit:`Hit`,miss:`Missed`,pocket:`Pocket {n}`,lands:`Lands`,misses:`Misses`},about:{roulette:`The chosen number always comes out. With a forced result, or a storm number to land on or to miss, the number comes out among those the bets on the table allow; if none does, the draw is normal. With a multiplier the roulette turns into Storm Roulette.`,pachinko:`The violet orb exists only on the coloured Pachinko, with a multiplier. There the prize depends on the reds hit: with the jackpot the reds line up along the fall and the ball takes them all.`,wheel:`With a multiplier the Booster picks a kind of segment that comes out more often: here you choose which. The chosen segment still decides where the wheel stops.`,slot:`Normally the slot is the classic one. On the bonus day the slot of the day takes its place, Takeoff or Breakaway, drawn from the date: it can be set here along with the multiplier. The drawn result is the most one can reach.`,scratch:`Normally the ticket is the classic one. On the bonus day the ticket of the day takes its place, one of the two numbers tickets drawn from the date: it can be set here along with the multiplier. A variant chosen without a prize goes to a prize that pays it.`,blackjack:`The shoe stages the drawn result whatever the player decides: with Win the hand is won, with Jackpot the blackjack of spades comes.`,holdem:`The cards are chosen among those that give the drawn result: with Win you win if you call, with Jackpot the royal flush comes. Folding loses the hand all the same.`},reset:`Reset all games`,apply:`Apply and restart game`,variant:{scratch:`Ticket of the day`,slot:`Slot of the day`},theme:`Room theme`,calendar:`From the calendar`,noTheme:`None`,language:`Language`,autoLanguage:`Automatic`,dealer:`Dealer`,dealerShifts:`From the day's shifts`,dealerAbsent:`Absent`,dealerNumber:`Dealer {n}`}}})),f,p=n((()=>{f={games:{pachinko:{name:`Pachinko`,summary:`The pocket decides the prize`,rules:`Choose the prize and where to drop the ball: the pocket decides what you win, a small prize or a big one; the middle pocket is the jackpot. Pockets with a dash pay nothing.`,bonusRules:`Grand Wheel bonus: the prize stays {prize}. Choose where to drop the ball, the pocket shows what you win.`}},pachinko:{launch:`Drop the ball`,hint:`Move the mouse over the board to choose where it falls, then click. Arrow keys and the space bar work too.`,redHits:`Red pegs hit`,powerOn:`Violet activated`,powerOff:`Hit the violet peg`,chance:`Win probability`,detail:`Pachinko · coloured pegs`,colorRules:`Pockets with a dash pay nothing; the others climb with every red hit, from a small prize up to a big one. With all 8 reds the middle pocket is the jackpot. The violet orb multiplies the day’s odds once more.`,fever:`Gold fever`,feverTitle:`ALL REDS CLEARED!`},detail:{pachinko:`winning pocket`}}})),m,ee=n((()=>{m={title:`Feeling lucky`,room:`Games room`,backToOverview:`Back to overview`,backToGames:`Back to the games`,soundOn:`Sound on`,soundOff:`Sound off`,rules:`Rules`,chips:`Chip prize`,ticker:{1:`Feeling lucky`,2:`Grand Wheel: the jackpot is on the wheel`,3:`Three ∞ on the line: jackpot`,4:`A roulette straight-up is worth the jackpot`,5:`Three matching logos under the foil`,6:`The middle Pachinko pocket pays the jackpot`},win:{title:`You won`,jackpot:`Jackpot`},tier:{small:`Small win`,big:`Big win`,jackpot:`Jackpot`,symbol:{small:`★`,big:`★★`,jackpot:`★★★`}},boost:{badge:`×{n}`,title:`Bonus of the day`,odds:`Bonus of the day: wins {n} times as likely`,dealer:`Dealer at the table`,dealerOdds:`Dealer at the table: wins {n} times as likely`},themes:{christmas:{name:`Christmas`,greeting:`Season's greetings: a prize under the tree`},halloween:{name:`Halloween`,greeting:`Trick or prize?`},easter:{name:`Easter`,greeting:`Happy Easter: what's inside the egg?`},august:{name:`August`,greeting:`Happy summer holidays from the room`}},lobby:{games:`Games room`,private:`Salon Privé`,privateLine:`Reserved tables`,pager:`Rooms`},chipCount:{hint:`Place up to {n} chips`,left:`{n} chips left`,leftOne:`1 chip left`,none:`No chips left`},cert:{title:`Prize won`,prize:`Prize`,variant:`Variant`,fullPrize:`The whole prize`,wonOn:`Won on`,notClaimed:`Not claimed`,claimed:`Claimed`,claim:`Claim prize`,claiming:`Claiming…`,claimFailed:`The prize could not be claimed. Try again.`,seal:`FEELING LUCKY · PRIZE WON ·`,sealClaimed:`CLAIMED · FEELING LUCKY ·`,again:`Play {game} again`,otherGame:`Change game`}}})),te,ne=n((()=>{te={games:{roulette:{name:`Roulette`,summary:`Place your chips, then throw the ball`,rules:`Place up to {n} chips of one prize, on the table or with Nassa, Orphelins and Tiers, which lay them on their straight-ups and splits: every chip is of the first one's prize. A straight-up wins the jackpot; split, street, corner and six line a big prize; columns, dozens and even-money bets a small prize. When several bets win the best one counts.`}},roulette:{launch:`Throw the ball`,clear:`Take back the chips`,table:`Table`,call:{made:`Les jeux sont faits`,closed:`Rien ne va plus`},board:{column:`2 to 1`,dozen1:`1st 12`,dozen2:`2nd 12`,dozen3:`3rd 12`,low:`1–18`,even:`Even`,odd:`Odd`,high:`19–36`},kind:{straight:`Straight-up {numbers}`,split:`Split {numbers}`,street:`Street {numbers}`,corner:`Corner {numbers}`,line:`Six line {numbers}`},spot:{column:{1:`Column 1-34`,2:`Column 2-35`,3:`Column 3-36`},dozen:{1:`First dozen`,2:`Second dozen`,3:`Third dozen`},chance:{low:`1 to 18`,even:`Even`,red:`Red`,black:`Black`,odd:`Odd`,high:`19 to 36`}},track:`Announced bets`,announced:{nassa:`Nassa`,orphans:`Orphelins`,tiers:`Tiers`,cost:`{n} chips`,label:`{name}, {n} chips`},surface:`Where to bet`,storm:{title:`Storm`,rules:`Storm Roulette, the bonus of the day. Lay up to {n} chips as on the roulette; at every throw, once the bets are closed, lightning strikes 3 numbers that come out {m} times as often. A straight-up wins the jackpot, splits, streets, corners and six lines a big prize, columns, dozens and even chances a small prize.`,odds:`Land {n}× as often`,numbers:`Lightning numbers`},undo:`Remove last chip`,rebet:`Repeat the bet`},detail:{roulette:`number {n}`,storm:`lightning number {n}`}}})),re,ie=n((()=>{re={games:{scratch:{name:`Scratch card`,summary:`Three matching logos`,rules:`Three matching logos win that prize; the strip at the bottom says what it pays, up to the jackpot.`}},scratch:{title:`Scratch the prize`,rule:`Three matching logos win the prize. The strip at the bottom says what it pays.`,award:`you win`,series:`FEELING LUCKY · FORTUNE SERIES`,watermark:`LUCKY`,revealAll:`Scratch all`,newTicket:`New ticket`,hint:`Scratch with the mouse or a finger`,locked:`Scratch it with three matching logos`,prize:`PRIZE`,winningNumbers:`WINNING NUMBERS`,yourNumbers:`YOUR NUMBERS`,game:`GAME {n}`,topPrize:`TOP PRIZE: THE JACKPOT`,double:{first:`DOUBLE`,second:`LUCK`,tagline:`2 ways to play!`,rules:`Two ways to win: a winning number among your numbers wins the prize under it; three equal prizes win that prize. Logos have no prize under them: three matching logos win the jackpot.`},forever:{first:`FOR`,middle:`∞`,second:`EVER`,jackpot:`3 matching logos: the jackpot`,pairRule:`Two equal prizes win that prize`,rules:`Game 1: a winning number among your numbers wins the prize under it; logos have no prize under them, but three matching logos win the jackpot. Game 2: two equal prizes win that prize.`},names:{double:`Double Luck`,forever:`Forever`},dayRules:`Ticket of the day: winning tickets come out {n} times as often.`},detail:{scratch:{small:`three matching logos`,big:`three matching logos`,jackpot:`three matching logos`,match:`winning number`,three:`three equal prizes`,pair:`two equal prizes`,logos:`three matching logos`}}}})),ae,oe=n((()=>{ae={games:{slot:{name:`Slot`,summary:`Three symbols on the line`,rules:`Two matching prizes on the line: a small prize. Three prizes or three 7s: a big prize. Three ∞: the jackpot.`}},slot:{sign:`JACKPOT`,ready:`Pull the lever`,spinning:`Reels spinning…`,line:`On the line`,spin:`Spin the reels`,lever:`Pull the lever`,result:{none:`No combination`,small:`Pair on the line`,big:`Three of a kind`,jackpot:`Three ∞`},names:{takeoff:`Takeoff`,breakaway:`Breakaway`},takeoff:{rules:`Flight of the day: wins come out {n} times as often. The plane takes off and the multiplier climbs: cash out before it flies away. From ×2 you win a small prize, from ×10 a big prize, at ×50 the jackpot: the longer you wait, the bigger the prize.`,start:`Take off`,again:`New flight`,cashOut:`Cash out {prize}`,cashFrom:`Cash out from ×{m}`,ready:`Ready for takeoff`,gone:`Flew away!`,cashed:`Cashed out at ×{m}: {prize}`,hint:`Cash out whenever you like: if the plane flies away first, you win nothing`},breakaway:{rules:`Match of the day: wins come out {n} times as often. Move toward the goal choosing a square in each column: one hides the defender. Each column cleared raises the prize and you can cash out whenever you like; in front of the goal, shoot: the goal wins what you collected, up to the jackpot.`,pick:`Choose a square in column {n}`,shoot:`Choose where to shoot`,tackled:`Tackled! The prize collected is lost`,goal:`GOAL!`,again:`New match`,cashOut:`Cash out {prize}`,cashFrom:`Cash out from column {n}`,square:`Column {column}, square {row}`,zone:`Shoot at zone {n}`}},detail:{slot:{small:`pair on the line`,big:`three of a kind`,jackpot:`three ∞`,takeoff:`cashed out at ×{m}`,breakaway:`{n} columns cleared`,goal:`goal`}}}})),se,ce=n((()=>{se={games:{wheel:{name:`Grand Wheel`,summary:`Booster: prize · Wheel: win`,rules:`The Booster picks the prize, the wheel what you win: a small prize or a big prize. Heads or Tails, Prize Hunt and Pachinko reveal the win; Grand Wheel is the jackpot.`}},wheel:{booster:`BOOSTER`,spin:`Spin the wheel`,hint:`Or grab the wheel and fling it; zoom on the wheel for a close-up`,segment:{coin:`HEADS OR TAILS`,hunt:`PRIZE HUNT`,pachinko:`PACHINKO`,jackpot:`GRAND WHEEL`},pachinkoTitle:`Pachinko bonus`,pachinkoText:`The ball decides the win. The prize stays {prize}.`,toPachinko:`Go to Pachinko`,boosterRules:`Booster of the day: at every spin the Booster also picks a kind of segment, which comes out {n} times as often. The Booster picks the prize, the wheel what you win: a small prize or a big prize. Heads or Tails, Prize Hunt and Pachinko reveal the win; Grand Wheel is the jackpot.`},coin:{text:`Gold or ruby: the coin picks the win.`,gold:`gold`,ruby:`ruby`,flip:`Flip the coin`},hunt:{text:`Eighteen tiles, a win under each. Pick one.`,tile:`Tile {n}`},detail:{wheel:{small:`winning segment`,big:`winning segment`,jackpot:`jackpot segment`,coin:`Heads or Tails`,hunt:`Prize Hunt`,pachinko:`Pachinko bonus`}}}})),le,ue=n((()=>{s(),l(),d(),p(),ee(),ne(),ie(),oe(),ce(),le=o(m,se,ae,te,f,re,c,u)})),de,fe=n((()=>{de={games:{blackjack:{name:`Blackjack`,summary:`Batti il banco senza superare 21`,rules:`Punta fino a 5 fiches di un premio nel cerchio davanti al tuo posto: tutte le fiches sono del premio della prima. Poi batti il banco senza superare 21; il banco sta su 17. Sulle prime due carte puoi raddoppiare, con una seconda pila di fiches e una sola carta, o dividere due carte dello stesso valore in due mani con una pila ciascuna; dividendo conta la mano migliore, gli assi divisi ricevono una carta sola. Vincere la mano vale il premio delle fiches: un premio piccolo, un premio grande con il blackjack servito, asso e dieci o figura. Il blackjack di picche, asso e jack di picche, è il jackpot.`},holdem:{name:`Texas Hold'em`,summary:`La mano migliore contro il banco`,rules:`Tu e il banco ricevete due carte, poi escono le tre del flop: vedi o lascia. Se vedi escono turn e river e vince la mano migliore di cinque carte. Vincere con carta alta, coppia, doppia coppia o tris vale un premio piccolo, con una scala o più un premio grande; la scala reale è il jackpot. Se lasci, la mano è persa.`}},cards:{you:`Tu`,dealer:`Banco`,deal:`Distribuisci`},blackjack:{print:`Il banco sta su 17 · Blackjack di picche: jackpot`,hit:`Carta`,stand:`Stai`,double:`Raddoppia`,split:`Dividi`,bet:`Punta una fiche di {prize}`,result:{bust:`Sballato`,lose:`Vince il banco`,win:`Hai battuto il banco`,dealerBust:`Il banco sballa`,natural:`Blackjack!`,spades:`Blackjack di picche!`}},holdem:{print:`Il banco gioca ogni mano · Scala reale: jackpot`,call:`Vedi`,fold:`Lascia`,hands:{highCard:`Carta alta`,pair:`Coppia`,twoPair:`Doppia coppia`,trips:`Tris`,straight:`Scala`,flush:`Colore`,fullHouse:`Full`,quads:`Poker`,straightFlush:`Scala colore`,royalFlush:`Scala reale`},result:{folded:`Hai lasciato la mano`,won:`Vinci con {hand}`,lost:`Il banco vince con {hand}`,split:`Pareggio`}},detail:{blackjack:{win:`mano vinta`,dealerBust:`banco sballato`,natural:`blackjack servito`,spades:`blackjack di picche`},holdem:`vinto con {hand}`}}})),pe,me=n((()=>{pe={developer:{title:`Controlli sviluppatore`,restore:`Apri controlli sviluppatore`,minimize:`Riduci a icona`,close:`Chiudi controlli sviluppatore`,password:`Password`,unlock:`Sblocca`,wrongPassword:`Password errata.`,hint:`Ctrl+Shift+L apre e chiude il pannello. Tema e lingua cambiano subito; le impostazioni dei giochi valgono dal riavvio del gioco.`,game:`Gioco`,multiplier:`Moltiplicatore`,daily:`Valore giornaliero`,result:`Esito`,automatic:`Automatico`,loss:`Perdita`,win:`Vincita`,jackpot:`Jackpot`,decidedBy:`L'esito lo decide l'impostazione avanzata «{field}».`,advanced:`Avanzate`,field:{segment:`Segmento`,prize:`Premio`,combination:`Combinazione`,number:`Numero`,violet:`Pallina viola`,pocket:`Buca`,award:`Variante`,storm:`Numero tempesta`,booster:`Spicchio del Moltiplicatore`},option:{nothing:`Niente`,award:`{tier} · {award}`,pair:`Coppia di loghi`,logos:`Tris di loghi`,sevens:`Tris di sette`,infinities:`Tris di infiniti`,hit:`Presa`,miss:`Mancata`,pocket:`Buca {n}`,lands:`Esce`,misses:`Non esce`},about:{roulette:`Il numero scelto esce comunque. Con un esito forzato, o con un numero tempesta che deve uscire o no, il numero esce tra quelli che lo permettono con le puntate sul tavolo; se nessuno lo permette, l'estrazione è normale. Con il moltiplicatore la roulette diventa Roulette Tempesta.`,pachinko:`La pallina viola c'è solo nel Pachinko a colori, con il moltiplicatore. Lì il premio dipende dai rossi presi: con il jackpot i rossi si dispongono lungo la caduta e la pallina li prende tutti.`,wheel:`Con un moltiplicatore la ruota ha il Moltiplicatore, che sceglie un tipo di spicchio che esce più spesso: qui puoi decidere quale. Il segmento scelto decide comunque dove si ferma la ruota.`,slot:`Normalmente c'è la slot classica. Nel giorno del bonus al suo posto c'è la slot del giorno, Decollo o Contropiede, estratta dalla data: qui si può fissare insieme al moltiplicatore. L'esito estratto è il massimo a cui si può arrivare.`,scratch:`Normalmente c'è il biglietto classico. Nel giorno del bonus al suo posto c'è il biglietto del giorno, uno dei due a numeri estratto dalla data: qui si può fissare insieme al moltiplicatore. Una variante scelta senza premio va a un premio che la paga.`,blackjack:`Il mazzo mette in scena l'esito estratto qualunque cosa decida il giocatore: con Vincita la mano si vince, con Jackpot arriva il blackjack di picche.`,holdem:`Le carte sono scelte tra quelle che danno l'esito estratto: con Vincita si vince se si vede, con Jackpot arriva la scala reale. Chi lascia perde comunque la mano.`},reset:`Azzera tutti i giochi`,apply:`Applica e riavvia gioco`,variant:{scratch:`Biglietto del giorno`,slot:`Slot del giorno`},theme:`Tema della sala`,calendar:`Dal calendario`,noTheme:`Nessuno`,language:`Lingua`,autoLanguage:`Automatica`,dealer:`Croupier`,dealerShifts:`Dai turni del giorno`,dealerAbsent:`Assente`,dealerNumber:`Croupier {n}`}}})),he,ge=n((()=>{he={games:{pachinko:{name:`Pachinko`,summary:`La buca decide il premio`,rules:`Scegli il premio e da dove far cadere la pallina: la buca decide cosa vinci, un premio piccolo o uno grande; la buca centrale è il jackpot. Le buche col trattino non pagano.`,bonusRules:`Bonus dalla Gran Ruota: il premio resta {prize}. Scegli da dove far cadere la pallina, la buca mostra cosa vinci.`}},pachinko:{launch:`Lascia cadere la pallina`,hint:`Muovi il mouse sopra il tavolo per scegliere da dove cade, poi clicca. Anche con le frecce e la barra spaziatrice.`,redHits:`Rossi colpiti`,powerOn:`Viola attivato`,powerOff:`Colpisci il viola`,chance:`Probabilità di vincita`,detail:`Pachinko · pioli colorati`,colorRules:`Le buche col trattino non pagano; le altre salgono di premio a ogni rosso colpito, da un premio piccolo fino a uno grande. Con tutti e 8 i rossi la buca centrale è il jackpot. Il viola moltiplica ancora le probabilità del giorno.`,fever:`Febbre dell’oro`,feverTitle:`TUTTI I ROSSI!`},detail:{pachinko:`buca vincente`}}})),_e,ve=n((()=>{_e={title:`Mi sento fortunato`,room:`Sala giochi`,backToOverview:`Torna alla panoramica`,backToGames:`Torna ai giochi`,soundOn:`Suoni accesi`,soundOff:`Suoni spenti`,rules:`Regole`,chips:`Premio delle fiches`,ticker:{1:`Mi sento fortunato`,2:`Gran Ruota: il jackpot è sulla ruota`,3:`Tris di ∞ sulla linea: jackpot`,4:`Un pieno alla roulette vale il jackpot`,5:`Tre loghi uguali sotto la patina`,6:`La buca centrale del Pachinko paga il jackpot`},win:{title:`Hai vinto`,jackpot:`Jackpot`},tier:{small:`Vittoria piccola`,big:`Vittoria buona`,jackpot:`Jackpot`,symbol:{small:`★`,big:`★★`,jackpot:`★★★`}},boost:{badge:`×{n}`,title:`Bonus del giorno`,odds:`Bonus del giorno: vincite {n} volte più probabili`,dealer:`Croupier al tavolo`,dealerOdds:`Croupier al tavolo: vincite {n} volte più probabili`},themes:{christmas:{name:`Natale`,greeting:`Buone feste: c'è un premio sotto l'albero`},halloween:{name:`Halloween`,greeting:`Dolcetto o premio?`},easter:{name:`Pasqua`,greeting:`Buona Pasqua: chissà cosa c'è nell'uovo`},august:{name:`Agosto`,greeting:`Buon Ferragosto dalla sala`}},lobby:{games:`Sala giochi`,private:`Salon Privé`,privateLine:`Tavoli riservati`,pager:`Sale`},chipCount:{hint:`Posa fino a {n} fiches`,left:`Restano {n} fiches`,leftOne:`Resta 1 fiche`,none:`Fiches finite`},cert:{title:`Premio vinto`,prize:`Premio`,variant:`Variante`,fullPrize:`Premio completo`,wonOn:`Vinto il`,notClaimed:`Da riscattare`,claimed:`Riscattato`,claim:`Riscatta il premio`,claiming:`Riscatto in corso…`,claimFailed:`Non è stato possibile riscattare il premio. Riprova.`,seal:`MI SENTO FORTUNATO · PREMIO VINTO ·`,sealClaimed:`RISCATTATO · MI SENTO FORTUNATO ·`,again:`Gioca ancora a {game}`,otherGame:`Cambia gioco`}}})),ye,be=n((()=>{ye={games:{roulette:{name:`Roulette`,summary:`Punta le fiches, poi lancia la pallina`,rules:`Posa fino a {n} fiches di un premio, sul tavolo o con Nassa, Orfanelli e Serie 5/8, che le mettono sui loro pieni e cavalli: tutte le fiches sono del premio della prima. Il pieno vince il jackpot; cavallo, terzina, carré e sestina un premio grande; colonne, dozzine e chances semplici un premio piccolo. Se vincono più puntate conta la migliore.`}},roulette:{launch:`Lancia la pallina`,clear:`Ritira le fiches`,table:`Tavolo`,call:{made:`Les jeux sont faits`,closed:`Rien ne va plus`},board:{column:`2:1`,dozen1:`1ª 12`,dozen2:`2ª 12`,dozen3:`3ª 12`,low:`1–18`,even:`Pari`,odd:`Dispari`,high:`19–36`},kind:{straight:`Pieno {numbers}`,split:`Cavallo {numbers}`,street:`Terzina {numbers}`,corner:`Carré {numbers}`,line:`Sestina {numbers}`},spot:{column:{1:`Colonna 1-34`,2:`Colonna 2-35`,3:`Colonna 3-36`},dozen:{1:`Prima dozzina`,2:`Seconda dozzina`,3:`Terza dozzina`},chance:{low:`Da 1 a 18`,even:`Pari`,red:`Rosso`,black:`Nero`,odd:`Dispari`,high:`Da 19 a 36`}},track:`Giocate annunciate`,announced:{nassa:`Nassa`,orphans:`Orfanelli`,tiers:`Serie 5/8`,cost:`{n} fiches`,label:`{name}, {n} fiches`},surface:`Dove puntare`,storm:{title:`Tempesta`,rules:`Roulette Tempesta, il bonus del giorno. Posa fino a {n} fiches come alla roulette; a ogni lancio, a puntate chiuse, il fulmine colpisce 3 numeri che escono {m} volte più spesso. Il pieno vince il jackpot, cavalli, terzine, carré e sestine un premio grande, colonne, dozzine e chances semplici un premio piccolo.`,odds:`Escono {n}× più spesso`,numbers:`Numeri fulmine`},undo:`Togli l'ultima fiche`,rebet:`Ripeti la puntata`},detail:{roulette:`numero {n}`,storm:`numero fulmine {n}`}}})),xe,Se=n((()=>{xe={games:{scratch:{name:`Biglietto Fortunato`,summary:`Tre loghi uguali`,rules:`Tre loghi uguali vincono quel premio; la striscia in basso dice cosa paga, fino al jackpot.`}},scratch:{title:`Gratta il premio`,rule:`Tre loghi uguali vincono il premio. La striscia in basso dice cosa paga.`,award:`vinci`,series:`MI SENTO FORTUNATO · SERIE FORTUNA`,watermark:`FORTUNA`,revealAll:`Gratta tutto`,newTicket:`Nuovo biglietto`,hint:`Gratta con il mouse o con il dito`,locked:`Si gratta con tre loghi uguali`,prize:`PREMIO`,winningNumbers:`NUMERI VINCENTI`,yourNumbers:`I TUOI NUMERI`,game:`GIOCO {n}`,topPrize:`PREMIO MASSIMO: IL JACKPOT`,double:{first:`DOPPIA`,second:`FORTUNA`,tagline:`2 modi di giocare!`,rules:`Due modi di vincere: un numero vincente tra i tuoi numeri vince il premio sotto di lui; tre premi uguali vincono quel premio. I loghi non hanno premi sotto: tre loghi uguali vincono il jackpot.`},forever:{first:`PER`,middle:`∞`,second:`SEMPRE`,jackpot:`3 loghi uguali: il jackpot`,pairRule:`Due premi uguali vincono quel premio`,rules:`Gioco 1: un numero vincente tra i tuoi numeri vince il premio sotto di lui; i loghi non hanno premi sotto, ma tre loghi uguali vincono il jackpot. Gioco 2: due premi uguali vincono quel premio.`},names:{double:`Doppia Fortuna`,forever:`Per Sempre`},dayRules:`Biglietto del giorno: i biglietti vincenti escono {n} volte più spesso.`},detail:{scratch:{small:`tre loghi uguali`,big:`tre loghi uguali`,jackpot:`tre loghi uguali`,match:`numero vincente`,three:`tre premi uguali`,pair:`due premi uguali`,logos:`tre loghi uguali`}}}})),Ce,we=n((()=>{Ce={games:{slot:{name:`Slot`,summary:`Tre simboli in linea`,rules:`Due premi uguali sulla linea: un premio piccolo. Tre premi o tre 7: un premio grande. Tre ∞: il jackpot.`}},slot:{sign:`JACKPOT`,ready:`Tira la leva`,spinning:`I rulli girano…`,line:`Sulla linea`,spin:`Gira i rulli`,lever:`Tira la leva`,result:{none:`Nessuna combinazione`,small:`Coppia sulla linea`,big:`Tris sulla linea`,jackpot:`Tre ∞`},names:{takeoff:`Decollo`,breakaway:`Contropiede`},takeoff:{rules:`Volo del giorno: le vincite escono {n} volte più spesso. L'aereo decolla e il moltiplicatore sale: incassa prima che voli via. Da ×2 vinci un premio piccolo, da ×10 un premio grande, a ×50 il jackpot: più aspetti, più il premio è grande.`,start:`Decolla`,again:`Nuovo volo`,cashOut:`Incassa {prize}`,cashFrom:`Si incassa da ×{m}`,ready:`Pronto al decollo`,gone:`Volato via!`,cashed:`Incassato a ×{m}: {prize}`,hint:`Incassa quando vuoi: se l'aereo vola via prima, non vinci nulla`},breakaway:{rules:`Partita del giorno: le vincite escono {n} volte più spesso. Avanza verso la porta scegliendo una casella per colonna: in una c'è il difensore. Ogni colonna superata alza il premio e puoi incassare quando vuoi; davanti alla porta tira: con il gol vinci quello che hai raccolto, fino al jackpot.`,pick:`Scegli una casella della colonna {n}`,shoot:`Scegli dove tirare`,tackled:`Placcato! Il premio raccolto è perso`,goal:`GOL!`,again:`Nuova partita`,cashOut:`Incassa {prize}`,cashFrom:`Si incassa dalla colonna {n}`,square:`Colonna {column}, casella {row}`,zone:`Tira nella zona {n}`}},detail:{slot:{small:`coppia sulla linea`,big:`tris sulla linea`,jackpot:`tre ∞`,takeoff:`incassato a ×{m}`,breakaway:`{n} colonne superate`,goal:`gol`}}}})),Te,Ee=n((()=>{Te={games:{wheel:{name:`Gran Ruota`,summary:`Moltiplicatore: premio · Ruota: vincita`,rules:`Il Moltiplicatore sceglie il premio, la ruota la vincita: un premio piccolo o un premio grande. Testa o Croce, Caccia al Premio e Pachinko rivelano la vincita; Gran Ruota è il jackpot.`}},wheel:{booster:`MOLTIPLICATORE`,spin:`Gira la ruota`,hint:`Oppure afferra la ruota e lanciala; fai zoom sulla ruota per vederla da vicino`,segment:{coin:`TESTA O CROCE`,hunt:`CACCIA AL PREMIO`,pachinko:`PACHINKO`,jackpot:`GRAN RUOTA`},pachinkoTitle:`Bonus Pachinko`,pachinkoText:`La vincita la decide la pallina. Il premio resta {prize}.`,toPachinko:`Vai al Pachinko`,boosterRules:`Moltiplicatore del giorno: a ogni giro il Moltiplicatore sceglie anche un tipo di spicchio, che esce {n} volte più spesso. Il Moltiplicatore sceglie il premio, la ruota la vincita: un premio piccolo o un premio grande. Testa o Croce, Caccia al Premio e Pachinko rivelano la vincita; Gran Ruota è il jackpot.`},coin:{text:`Oro o rubino: la moneta sceglie la vincita.`,gold:`oro`,ruby:`rubino`,flip:`Lancia la moneta`},hunt:{text:`Diciotto caselle, una vincita sotto ognuna. Scegline una.`,tile:`Casella {n}`},detail:{wheel:{small:`spicchio vincente`,big:`spicchio vincente`,jackpot:`spicchio jackpot`,coin:`Testa o Croce`,hunt:`Caccia al Premio`,pachinko:`bonus Pachinko`}}}})),De=r({default:()=>Oe}),Oe,ke=n((()=>{s(),fe(),me(),ge(),ve(),be(),Se(),we(),Ee(),Oe=o(_e,Te,Ce,ye,he,xe,de,pe)})),Ae,je=n((()=>{Ae={games:{blackjack:{name:`Blackjack`,summary:`Gana a la banca sin pasarte de 21`,rules:`Coloca hasta 5 fichas de un premio en el círculo delante de tu puesto: todas las fichas son del premio de la primera. Después gana a la banca sin pasarte de 21; la banca se planta con 17. Con tus dos primeras cartas puedes doblar, con una segunda pila de fichas y una sola carta, o dividir dos cartas del mismo valor en dos manos con una pila cada una; al dividir cuenta la mejor mano, y los ases divididos reciben una sola carta. Ganar la mano vale el premio de las fichas: un premio pequeño, o uno grande con un blackjack servido, as y diez o figura. El blackjack de picas, as y jota de picas, es el jackpot.`},holdem:{name:`Texas Hold'em`,summary:`La mejor mano contra la banca`,rules:`Tú y la banca recibís dos cartas y luego salen las tres del flop: ves o te retiras. Si ves, siguen el turn y el river y gana la mejor mano de cinco cartas. Ganar con carta alta, pareja, doble pareja o trío vale un premio pequeño; con escalera o mejor, un premio grande; la escalera real es el jackpot. Si te retiras, pierdes la mano.`}},cards:{you:`Tú`,dealer:`Banca`,deal:`Repartir`},blackjack:{print:`Banca se planta en 17 · Blackjack de picas: jackpot`,hit:`Pedir`,stand:`Plantarse`,double:`Doblar`,split:`Dividir`,bet:`Apuesta una ficha de {prize}`,result:{bust:`Te pasas`,lose:`Gana la banca`,win:`Ganas a la banca`,dealerBust:`La banca se pasa`,natural:`¡Blackjack!`,spades:`¡Blackjack de picas!`}},holdem:{print:`La banca juega cada mano · Escalera real: jackpot`,call:`Ver`,fold:`Retirarse`,hands:{highCard:`Carta alta`,pair:`Pareja`,twoPair:`Doble pareja`,trips:`Trío`,straight:`Escalera`,flush:`Color`,fullHouse:`Full`,quads:`Póker`,straightFlush:`Escalera de color`,royalFlush:`Escalera real`},result:{folded:`Te has retirado`,won:`Ganas con {hand}`,lost:`La banca gana con {hand}`,split:`Empate`}},detail:{blackjack:{win:`mano ganada`,dealerBust:`la banca se pasa`,natural:`blackjack servido`,spades:`blackjack de picas`},holdem:`ganado con {hand}`}}})),Me,Ne=n((()=>{Me={developer:{title:`Controles de desarrollador`,restore:`Abrir controles de desarrollador`,minimize:`Minimizar a icono`,close:`Cerrar controles de desarrollador`,password:`Contraseña`,unlock:`Desbloquear`,wrongPassword:`Contraseña incorrecta.`,hint:`Ctrl+Shift+L abre y cierra este panel. El tema y el idioma cambian al momento; los ajustes de los juegos se aplican al reiniciar el juego.`,game:`Juego`,multiplier:`Multiplicador`,daily:`Valor del día`,result:`Resultado`,automatic:`Automático`,loss:`Derrota`,win:`Victoria`,jackpot:`Jackpot`,decidedBy:`El ajuste avanzado «{field}» decide el resultado.`,advanced:`Avanzado`,field:{segment:`Sector`,prize:`Premio`,combination:`Combinación`,number:`Número`,violet:`Orbe violeta`,pocket:`Casilla`,award:`Variante`,storm:`Número tormenta`,booster:`Sector del Multiplicador`},option:{nothing:`Nada`,award:`{tier} · {award}`,pair:`Pareja de logos`,logos:`Tres logos`,sevens:`Tres sietes`,infinities:`Tres infinitos`,hit:`Tocado`,miss:`Fallado`,pocket:`Casilla {n}`,lands:`Sale`,misses:`No sale`},about:{roulette:`El número elegido sale siempre. Con un resultado forzado, o con un número tormenta que debe salir o no, el número sale entre los que permiten las apuestas de la mesa; si ninguno lo permite, el sorteo es normal. Con un multiplicador, la ruleta se convierte en Ruleta Tormenta.`,pachinko:`El orbe violeta solo existe en el Pachinko de colores, con un multiplicador. Allí el premio depende de los rojos tocados: con el jackpot, los rojos se alinean a lo largo de la caída y la bola los toca todos.`,wheel:`Con un multiplicador, el Multiplicador elige un tipo de sector que sale más a menudo: aquí eliges cuál. El sector elegido sigue decidiendo dónde se para la rueda.`,slot:`Normalmente la slot es la clásica. El día del bonus la sustituye la slot del día, Despegue o Contraataque, sorteada según la fecha: aquí se puede fijar junto con el multiplicador. El resultado sorteado es lo máximo a lo que se puede llegar.`,scratch:`Normalmente el boleto es el clásico. El día del bonus lo sustituye el boleto del día, uno de los dos boletos de números, sorteado según la fecha: aquí se puede fijar junto con el multiplicador. Una variante elegida sin premio va a un premio que la paga.`,blackjack:`El sabot escenifica el resultado sorteado decida lo que decida el jugador: con Victoria la mano se gana, con Jackpot llega el blackjack de picas.`,holdem:`Las cartas se eligen entre las que dan el resultado sorteado: con Victoria se gana si se ve, con Jackpot llega la escalera real. Quien se retira pierde la mano igualmente.`},reset:`Reiniciar todos los juegos`,apply:`Aplicar y reiniciar el juego`,variant:{scratch:`Boleto del día`,slot:`Slot del día`},theme:`Tema de la sala`,calendar:`Según el calendario`,noTheme:`Ninguno`,language:`Idioma`,autoLanguage:`Automático`,dealer:`Crupier`,dealerShifts:`Según los turnos del día`,dealerAbsent:`Ausente`,dealerNumber:`Crupier {n}`}}})),Pe,Fe=n((()=>{Pe={games:{pachinko:{name:`Pachinko`,summary:`La casilla decide el premio`,rules:`Elige el premio y desde dónde soltar la bola: la casilla decide cuánto ganas, un premio pequeño o uno grande; la casilla central es el jackpot. Las casillas con guion no pagan.`,bonusRules:`Bonus de la Gran Rueda: el premio sigue siendo {prize}. Elige desde dónde soltar la bola; la casilla muestra cuánto ganas.`}},pachinko:{launch:`Suelta la bola`,hint:`Mueve el ratón sobre el tablero para elegir por dónde cae y haz clic. También con las flechas y la barra espaciadora.`,redHits:`Rojos tocados`,powerOn:`Violeta activado`,powerOff:`Toca el violeta`,chance:`Probabilidad de ganar`,detail:`Pachinko · clavos de colores`,colorRules:`Las casillas con guion no pagan; las demás suben de premio con cada rojo tocado, de un premio pequeño hasta uno grande. Con los 8 rojos, la casilla central es el jackpot. El orbe violeta multiplica otra vez las probabilidades del día.`,fever:`Fiebre del oro`,feverTitle:`¡TODOS LOS ROJOS!`},detail:{pachinko:`casilla ganadora`}}})),Ie,Le=n((()=>{Ie={title:`Voy a tener suerte`,room:`Sala de juegos`,backToOverview:`Ir al resumen`,backToGames:`Ir a los juegos`,soundOn:`Sonido activado`,soundOff:`Sonido desactivado`,rules:`Reglas`,chips:`Premio de las fichas`,ticker:{1:`Voy a tener suerte`,2:`Gran Rueda: el jackpot está en la rueda`,3:`Tres ∞ en la línea: jackpot`,4:`Un pleno en la ruleta vale el jackpot`,5:`Tres logos iguales bajo la capa`,6:`La casilla central del Pachinko paga el jackpot`},win:{title:`Has ganado`,jackpot:`Jackpot`},tier:{small:`Premio pequeño`,big:`Premio grande`,jackpot:`Jackpot`,symbol:{small:`★`,big:`★★`,jackpot:`★★★`}},boost:{badge:`×{n}`,title:`Bonus del día`,odds:`Bonus del día: premios {n} veces más probables`,dealer:`Crupier en la mesa`,dealerOdds:`Crupier en la mesa: premios {n} veces más probables`},themes:{christmas:{name:`Navidad`,greeting:`Felices fiestas: hay un premio bajo el árbol`},halloween:{name:`Halloween`,greeting:`¿Truco o premio?`},easter:{name:`Pascua`,greeting:`Felices Pascuas: ¿qué habrá dentro del huevo?`},august:{name:`Agosto`,greeting:`Feliz verano desde la sala`}},lobby:{games:`Sala de juegos`,private:`Salon Privé`,privateLine:`Mesas reservadas`,pager:`Salas`},chipCount:{hint:`Coloca hasta {n} fichas`,left:`Quedan {n} fichas`,leftOne:`Queda 1 ficha`,none:`Sin fichas`},cert:{title:`Premio ganado`,prize:`Premio`,variant:`Variante`,fullPrize:`El premio completo`,wonOn:`Ganado el`,notClaimed:`Sin canjear`,claimed:`Canjeado`,claim:`Canjear premio`,claiming:`Canjeando…`,claimFailed:`No se ha podido canjear el premio. Inténtalo de nuevo.`,seal:`VOY A TENER SUERTE · PREMIO GANADO ·`,sealClaimed:`CANJEADO · VOY A TENER SUERTE ·`,again:`Jugar otra vez a {game}`,otherGame:`Cambiar de juego`}}})),Re,ze=n((()=>{Re={games:{roulette:{name:`Roulette`,summary:`Coloca las fichas y lanza la bola`,rules:`Coloca hasta {n} fichas de un premio, en la mesa o con Nassa, Huérfanos y Tercio, que las reparten en sus plenos y caballos: todas las fichas son del premio de la primera. El pleno gana el jackpot; caballo, transversal, cuadro y seisena un premio grande; columnas, docenas y suertes sencillas un premio pequeño. Si ganan varias apuestas, cuenta la mejor.`}},roulette:{launch:`Lanza la bola`,clear:`Retira las fichas`,table:`Mesa`,call:{made:`Les jeux sont faits`,closed:`Rien ne va plus`},board:{column:`2 a 1`,dozen1:`1ª 12`,dozen2:`2ª 12`,dozen3:`3ª 12`,low:`Falta`,even:`Par`,odd:`Impar`,high:`Pasa`},kind:{straight:`Pleno {numbers}`,split:`Caballo {numbers}`,street:`Transversal {numbers}`,corner:`Cuadro {numbers}`,line:`Seisena {numbers}`},spot:{column:{1:`Columna 1-34`,2:`Columna 2-35`,3:`Columna 3-36`},dozen:{1:`Primera docena`,2:`Segunda docena`,3:`Tercera docena`},chance:{low:`Falta, del 1 al 18`,even:`Par`,red:`Rojo`,black:`Negro`,odd:`Impar`,high:`Pasa, del 19 al 36`}},track:`Apuestas anunciadas`,announced:{nassa:`Nassa`,orphans:`Huérfanos`,tiers:`Tercio`,cost:`{n} fichas`,label:`{name}, {n} fichas`},surface:`Dónde apostar`,storm:{title:`Tormenta`,rules:`Ruleta Tormenta, el bonus del día. Coloca hasta {n} fichas como en la ruleta; en cada tirada, con las apuestas cerradas, el rayo cae sobre 3 números que salen {m} veces más a menudo. El pleno gana el jackpot; caballos, transversales, cuadros y seisenas un premio grande; columnas, docenas y suertes sencillas un premio pequeño.`,odds:`Salen {n}× más a menudo`,numbers:`Números rayo`},undo:`Quita la última ficha`,rebet:`Repite la apuesta`},detail:{roulette:`número {n}`,storm:`número rayo {n}`}}})),Be,Ve=n((()=>{Be={games:{scratch:{name:`Raspadita`,summary:`Tres logos iguales`,rules:`Tres logos iguales ganan ese premio; la franja de abajo dice cuánto paga, hasta el jackpot.`}},scratch:{title:`Rasca el premio`,rule:`Tres logos iguales ganan el premio. La franja de abajo dice cuánto paga.`,award:`ganas`,series:`VOY A TENER SUERTE · SERIE FORTUNA`,watermark:`SUERTE`,revealAll:`Rasca todo`,newTicket:`Nuevo boleto`,hint:`Rasca con el ratón o con el dedo`,locked:`Se rasca con tres logos iguales`,prize:`PREMIO`,winningNumbers:`NÚMEROS GANADORES`,yourNumbers:`TUS NÚMEROS`,game:`JUEGO {n}`,topPrize:`PREMIO MÁXIMO: EL JACKPOT`,double:{first:`DOBLE`,second:`SUERTE`,tagline:`¡2 formas de jugar!`,rules:`Dos formas de ganar: un número ganador entre tus números gana el premio que tiene debajo; tres premios iguales ganan ese premio. Los logos no tienen premio debajo: tres logos iguales ganan el jackpot.`},forever:{first:`PARA`,middle:`∞`,second:`SIEMPRE`,jackpot:`3 logos iguales: el jackpot`,pairRule:`Dos premios iguales ganan ese premio`,rules:`Juego 1: un número ganador entre tus números gana el premio que tiene debajo; los logos no tienen premio debajo, pero tres logos iguales ganan el jackpot. Juego 2: dos premios iguales ganan ese premio.`},names:{double:`Doble Suerte`,forever:`Para Siempre`},dayRules:`Boleto del día: los boletos ganadores salen {n} veces más a menudo.`},detail:{scratch:{small:`tres logos iguales`,big:`tres logos iguales`,jackpot:`tres logos iguales`,match:`número ganador`,three:`tres premios iguales`,pair:`dos premios iguales`,logos:`tres logos iguales`}}}})),He,Ue=n((()=>{He={games:{slot:{name:`Slot`,summary:`Tres símbolos en la línea`,rules:`Dos premios iguales en la línea: un premio pequeño. Tres premios o tres 7: un premio grande. Tres ∞: el jackpot.`}},slot:{sign:`JACKPOT`,ready:`Tira de la palanca`,spinning:`Giran los rodillos…`,line:`En la línea`,spin:`Gira los rodillos`,lever:`Tira de la palanca`,result:{none:`Sin combinación`,small:`Pareja en la línea`,big:`Trío en la línea`,jackpot:`Tres ∞`},names:{takeoff:`Despegue`,breakaway:`Contraataque`},takeoff:{rules:`Vuelo del día: los premios salen {n} veces más a menudo. El avión despega y el multiplicador sube: cobra antes de que se escape. Desde ×2 ganas un premio pequeño, desde ×10 un premio grande y a ×50 el jackpot: cuanto más esperas, mayor es el premio.`,start:`Despega`,again:`Nuevo vuelo`,cashOut:`Cobra {prize}`,cashFrom:`Se cobra desde ×{m}`,ready:`Listo para despegar`,gone:`¡Se ha escapado!`,cashed:`Cobrado a ×{m}: {prize}`,hint:`Cobra cuando quieras: si el avión se escapa antes, no ganas nada`},breakaway:{rules:`Partido del día: los premios salen {n} veces más a menudo. Avanza hacia la portería eligiendo una casilla en cada columna: en una está el defensa. Cada columna superada sube el premio y puedes cobrar cuando quieras; delante de la portería, chuta: con el gol ganas lo acumulado, hasta el jackpot.`,pick:`Elige una casilla de la columna {n}`,shoot:`Elige dónde chutar`,tackled:`¡Entrada! Pierdes el premio acumulado`,goal:`¡GOL!`,again:`Nuevo partido`,cashOut:`Cobra {prize}`,cashFrom:`Se cobra desde la columna {n}`,square:`Columna {column}, casilla {row}`,zone:`Chuta a la zona {n}`}},detail:{slot:{small:`pareja en la línea`,big:`trío en la línea`,jackpot:`tres ∞`,takeoff:`cobrado a ×{m}`,breakaway:`{n} columnas superadas`,goal:`gol`}}}})),We,Ge=n((()=>{We={games:{wheel:{name:`Gran Rueda`,summary:`Multiplicador: premio · Rueda: pago`,rules:`El Multiplicador elige el premio y la rueda cuánto ganas: un premio pequeño o un premio grande. Cara o Cruz, Caza del Premio y Pachinko desvelan cuánto ganas; Gran Rueda es el jackpot.`}},wheel:{booster:`MULTIPLICADOR`,spin:`Gira la rueda`,hint:`O agarra la rueda y lánzala; haz zoom sobre la rueda para verla de cerca`,segment:{coin:`CARA O CRUZ`,hunt:`CAZA DEL PREMIO`,pachinko:`PACHINKO`,jackpot:`GRAN RUEDA`},pachinkoTitle:`Bonus Pachinko`,pachinkoText:`La bola decide cuánto ganas. El premio sigue siendo {prize}.`,toPachinko:`Ir al Pachinko`,boosterRules:`Multiplicador del día: en cada tirada el Multiplicador elige también un tipo de sector, que sale {n} veces más a menudo. El Multiplicador elige el premio y la rueda cuánto ganas: un premio pequeño o un premio grande. Cara o Cruz, Caza del Premio y Pachinko desvelan cuánto ganas; Gran Rueda es el jackpot.`},coin:{text:`Oro o rubí: la moneda decide cuánto ganas.`,gold:`oro`,ruby:`rubí`,flip:`Lanza la moneda`},hunt:{text:`Dieciocho casillas y un premio bajo cada una. Elige una.`,tile:`Casilla {n}`},detail:{wheel:{small:`sector ganador`,big:`sector ganador`,jackpot:`sector jackpot`,coin:`Cara o Cruz`,hunt:`Caza del Premio`,pachinko:`bonus Pachinko`}}}})),Ke=r({default:()=>qe}),qe,Je=n((()=>{s(),je(),Ne(),Fe(),Le(),ze(),Ve(),Ue(),Ge(),qe=o(Ie,We,He,Re,Pe,Be,Ae,Me)})),Ye,Xe=n((()=>{Ye={games:{blackjack:{name:`Blackjack`,summary:`Battez la banque sans dépasser 21`,rules:`Posez jusqu'à 5 jetons d'un même lot dans le cercle devant votre place\xA0: tous les jetons sont du lot du premier. Puis battez la banque sans dépasser 21\xA0; la banque reste à 17. Sur vos deux premières cartes, vous pouvez doubler, avec une seconde pile de jetons et une seule carte, ou séparer deux cartes de même valeur en deux mains avec une pile chacune\xA0; après une séparation, la meilleure main compte et les as séparés reçoivent une seule carte. Gagner la main rapporte le lot des jetons\xA0: un petit lot, ou un gros lot avec un blackjack servi, un as avec un dix ou une figure. Le blackjack de pique, as et valet de pique, est le jackpot.`},holdem:{name:`Texas Hold'em`,summary:`La meilleure main contre la banque`,rules:`Vous et la banque recevez deux cartes, puis les trois cartes du flop sont retournées\xA0: suivez ou couchez-vous. Si vous suivez, viennent le turn et la river, et la meilleure main de cinq cartes gagne. Gagner avec une carte haute, une paire, une double paire ou un brelan rapporte un petit lot, avec une quinte ou mieux un gros lot\xA0; la quinte flush royale est le jackpot. Se coucher fait perdre la main.`}},cards:{you:`Vous`,dealer:`Banque`,deal:`Distribuer`},blackjack:{print:`La banque reste à 17 · Blackjack de pique\xA0: jackpot`,hit:`Carte`,stand:`Rester`,double:`Doubler`,split:`Séparer`,bet:`Miser un jeton {prize}`,result:{bust:`Brûlé`,lose:`La banque gagne`,win:`Vous battez la banque`,dealerBust:`La banque brûle`,natural:`Blackjack\xA0!`,spades:`Blackjack de pique\xA0!`}},holdem:{print:`La banque joue tout · Quinte flush royale\xA0: jackpot`,call:`Suivre`,fold:`Se coucher`,hands:{highCard:`Carte haute`,pair:`Paire`,twoPair:`Double paire`,trips:`Brelan`,straight:`Quinte`,flush:`Couleur`,fullHouse:`Full`,quads:`Carré`,straightFlush:`Quinte flush`,royalFlush:`Quinte flush royale`},result:{folded:`Vous vous êtes couché`,won:`Vous gagnez avec {hand}`,lost:`La banque gagne avec {hand}`,split:`Égalité`}},detail:{blackjack:{win:`main gagnée`,dealerBust:`la banque brûle`,natural:`blackjack servi`,spades:`blackjack de pique`},holdem:`gagné avec {hand}`}}})),Ze,Qe=n((()=>{Ze={developer:{title:`Contrôles développeur`,restore:`Ouvrir les contrôles développeur`,minimize:`Réduire en icône`,close:`Fermer les contrôles développeur`,password:`Mot de passe`,unlock:`Déverrouiller`,wrongPassword:`Mot de passe incorrect.`,hint:`Ctrl+Shift+L ouvre et ferme ce panneau. Le thème et la langue changent aussitôt\xA0; les réglages des jeux s'appliquent au redémarrage du jeu.`,game:`Jeu`,multiplier:`Multiplicateur`,daily:`Valeur du jour`,result:`Résultat`,automatic:`Automatique`,loss:`Perte`,win:`Gain`,jackpot:`Jackpot`,decidedBy:`Le réglage avancé «\xA0{field}\xA0» décide du résultat.`,advanced:`Avancé`,field:{segment:`Secteur`,prize:`Lot`,combination:`Combinaison`,number:`Numéro`,violet:`Orbe violet`,pocket:`Case`,award:`Variante`,storm:`Numéro tempête`,booster:`Secteur du Multiplicateur`},option:{nothing:`Rien`,award:`{tier} · {award}`,pair:`Paire de logos`,logos:`Trois logos`,sevens:`Trois sept`,infinities:`Trois infinis`,hit:`Touché`,miss:`Manqué`,pocket:`Case {n}`,lands:`Sort`,misses:`Ne sort pas`},about:{roulette:`Le numéro choisi sort toujours. Avec un résultat forcé, ou un numéro tempête qui doit sortir ou non, le numéro sort parmi ceux que permettent les mises sur le tapis\xA0; si aucun ne le permet, le tirage est normal. Avec un multiplicateur, la roulette devient la Roulette Tempête.`,pachinko:`L'orbe violet n'existe que sur le Pachinko coloré, avec un multiplicateur. Là, le lot dépend des rouges touchés\xA0: avec le jackpot, les rouges s'alignent le long de la chute et la bille les touche tous.`,wheel:`Avec un multiplicateur, le Multiplicateur choisit un type de secteur qui sort plus souvent\xA0: ici, vous choisissez lequel. Le secteur choisi décide quand même où s'arrête la roue.`,slot:`Normalement, c'est la slot classique. Le jour du bonus, la slot du jour la remplace, Décollage ou Contre-attaque, tirée d'après la date\xA0: on peut la fixer ici avec le multiplicateur. Le résultat tiré est le maximum que l'on peut atteindre.`,scratch:`Normalement, c'est le ticket classique. Le jour du bonus, le ticket du jour le remplace, l'un des deux tickets à numéros, tiré d'après la date\xA0: on peut le fixer ici avec le multiplicateur. Une variante choisie sans lot va à un lot qui la paie.`,blackjack:`Le sabot met en scène le résultat tiré, quoi que décide le joueur\xA0: avec Gain la main est gagnée, avec Jackpot arrive le blackjack de pique.`,holdem:`Les cartes sont choisies parmi celles qui donnent le résultat tiré\xA0: avec Gain on gagne si l'on suit, avec Jackpot arrive la quinte flush royale. Se coucher fait perdre la main quand même.`},reset:`Réinitialiser tous les jeux`,apply:`Appliquer et relancer le jeu`,variant:{scratch:`Ticket du jour`,slot:`Slot du jour`},theme:`Thème de la salle`,calendar:`D'après le calendrier`,noTheme:`Aucun`,language:`Langue`,autoLanguage:`Automatique`,dealer:`Croupier`,dealerShifts:`Selon les services du jour`,dealerAbsent:`Absent`,dealerNumber:`Croupier {n}`}}})),$e,et=n((()=>{$e={games:{pachinko:{name:`Pachinko`,summary:`La case décide du lot`,rules:`Choisissez le lot et d'où lâcher la bille\xA0: la case décide de ce que vous gagnez, un petit lot ou un gros\xA0; la case centrale est le jackpot. Les cases avec un tiret ne paient rien.`,bonusRules:`Bonus de la Grande Roue\xA0: le lot reste {prize}. Choisissez d'où lâcher la bille, la case indique ce que vous gagnez.`}},pachinko:{launch:`Lâcher la bille`,hint:`Déplacez la souris sur le plateau pour choisir d'où elle tombe, puis cliquez. Les flèches et la barre d'espace marchent aussi.`,redHits:`Rouges touchés`,powerOn:`Violet activé`,powerOff:`Touchez le violet`,chance:`Probabilité de gain`,detail:`Pachinko · clous colorés`,colorRules:`Les cases avec un tiret ne paient rien\xA0; les autres montent à chaque rouge touché, d'un petit lot jusqu'à un gros. Avec les 8 rouges, la case centrale est le jackpot. L'orbe violet multiplie encore les chances du jour.`,fever:`Fièvre de l’or`,feverTitle:`TOUS LES ROUGES\xA0!`},detail:{pachinko:`case gagnante`}}})),tt,nt=n((()=>{tt={title:`J'ai de la chance`,room:`Salle de jeux`,backToOverview:`Retour à l'aperçu`,backToGames:`Retour aux jeux`,soundOn:`Son activé`,soundOff:`Son coupé`,rules:`Règles`,chips:`Lot des jetons`,ticker:{1:`J'ai de la chance`,2:`Grande Roue\xA0: le jackpot est sur la roue`,3:`Trois ∞ sur la ligne\xA0: jackpot`,4:`Un plein à la roulette vaut le jackpot`,5:`Trois logos identiques sous la pellicule`,6:`La case centrale du Pachinko paie le jackpot`},win:{title:`Vous avez gagné`,jackpot:`Jackpot`},tier:{small:`Petit gain`,big:`Gros gain`,jackpot:`Jackpot`,symbol:{small:`★`,big:`★★`,jackpot:`★★★`}},boost:{badge:`×{n}`,title:`Bonus du jour`,odds:`Bonus du jour\xA0: gains {n} fois plus probables`,dealer:`Croupier à la table`,dealerOdds:`Croupier à la table : gains {n} fois plus probables`},themes:{christmas:{name:`Noël`,greeting:`Joyeuses fêtes\xA0: un lot vous attend sous le sapin`},halloween:{name:`Halloween`,greeting:`Un bonbon ou un lot\xA0?`},easter:{name:`Pâques`,greeting:`Joyeuses Pâques\xA0: qu'y a-t-il dans l'œuf\xA0?`},august:{name:`Août`,greeting:`Bonnes vacances d'été de la part de la salle`}},lobby:{games:`Salle de jeux`,private:`Salon Privé`,privateLine:`Tables réservées`,pager:`Salles`},chipCount:{hint:`Posez jusqu'à {n} jetons`,left:`Encore {n} jetons`,leftOne:`Encore 1 jeton`,none:`Plus de jetons`},cert:{title:`Lot gagné`,prize:`Lot`,variant:`Variante`,fullPrize:`Le lot complet`,wonOn:`Gagné le`,notClaimed:`Non réclamé`,claimed:`Réclamé`,claim:`Réclamer le lot`,claiming:`Réclamation…`,claimFailed:`Le lot n'a pas pu être réclamé. Réessayez.`,seal:`J'AI DE LA CHANCE · LOT GAGNÉ ·`,sealClaimed:`RÉCLAMÉ · J'AI DE LA CHANCE ·`,again:`Rejouer à {game}`,otherGame:`Changer de jeu`}}})),rt,it=n((()=>{rt={games:{roulette:{name:`Roulette`,summary:`Misez vos jetons, puis lancez la bille`,rules:`Posez jusqu'à {n} jetons d'un même lot, sur le tapis ou avec Nassa, Orphelins et Tiers, qui les placent sur leurs pleins et chevaux\xA0: tous les jetons sont du lot du premier. Le plein gagne le jackpot\xA0; cheval, transversale, carré et sixain un gros lot\xA0; colonnes, douzaines et chances simples un petit lot. Si plusieurs mises gagnent, la meilleure compte.`}},roulette:{launch:`Lancer la bille`,clear:`Retirer les jetons`,table:`Tapis`,call:{made:`Les jeux sont faits`,closed:`Rien ne va plus`},board:{column:`2 à 1`,dozen1:`12P`,dozen2:`12M`,dozen3:`12D`,low:`Manque`,even:`Pair`,odd:`Impair`,high:`Passe`},kind:{straight:`Plein {numbers}`,split:`Cheval {numbers}`,street:`Transversale {numbers}`,corner:`Carré {numbers}`,line:`Sixain {numbers}`},spot:{column:{1:`Colonne 1-34`,2:`Colonne 2-35`,3:`Colonne 3-36`},dozen:{1:`Première douzaine`,2:`Moyenne douzaine`,3:`Dernière douzaine`},chance:{low:`Manque, 1 à 18`,even:`Pair`,red:`Rouge`,black:`Noir`,odd:`Impair`,high:`Passe, 19 à 36`}},track:`Annonces`,announced:{nassa:`Nassa`,orphans:`Orphelins`,tiers:`Tiers`,cost:`{n} jetons`,label:`{name}, {n} jetons`},surface:`Où miser`,storm:{title:`Tempête`,rules:`Roulette Tempête, le bonus du jour. Posez jusqu'à {n} jetons comme à la roulette\xA0; à chaque lancer, une fois les mises closes, la foudre frappe 3 numéros qui sortent {m} fois plus souvent. Le plein gagne le jackpot\xA0; chevaux, transversales, carrés et sixains un gros lot\xA0; colonnes, douzaines et chances simples un petit lot.`,odds:`Sortent {n}× plus souvent`,numbers:`Numéros foudre`},undo:`Retirer le dernier jeton`,rebet:`Rejouer la mise`},detail:{roulette:`numéro {n}`,storm:`numéro foudre {n}`}}})),at,ot=n((()=>{at={games:{scratch:{name:`Grattage`,summary:`Trois logos identiques`,rules:`Trois logos identiques gagnent ce lot\xA0; la bande du bas indique ce qu'il rapporte, jusqu'au jackpot.`}},scratch:{title:`Grattez votre lot`,rule:`Trois logos identiques gagnent le lot. La bande du bas indique ce qu'il rapporte.`,award:`gagné`,series:`J'AI DE LA CHANCE · SÉRIE FORTUNE`,watermark:`CHANCE`,revealAll:`Tout gratter`,newTicket:`Nouveau ticket`,hint:`Grattez avec la souris ou le doigt`,locked:`Se gratte avec trois logos identiques`,prize:`LOT`,winningNumbers:`NUMÉROS GAGNANTS`,yourNumbers:`VOS NUMÉROS`,game:`JEU {n}`,topPrize:`LOT MAXIMUM\xA0: LE JACKPOT`,double:{first:`DOUBLE`,second:`CHANCE`,tagline:`2 façons de jouer\xA0!`,rules:`Deux façons de gagner\xA0: un numéro gagnant parmi vos numéros gagne le lot qu'il cache\xA0; trois lots identiques gagnent ce lot. Les logos ne cachent aucun lot\xA0: trois logos identiques gagnent le jackpot.`},forever:{first:`POUR`,middle:`∞`,second:`TOUJOURS`,jackpot:`3 logos identiques\xA0: le jackpot`,pairRule:`Deux lots identiques gagnent ce lot`,rules:`Jeu 1\xA0: un numéro gagnant parmi vos numéros gagne le lot qu'il cache\xA0; les logos ne cachent aucun lot, mais trois logos identiques gagnent le jackpot. Jeu 2\xA0: deux lots identiques gagnent ce lot.`},names:{double:`Double Chance`,forever:`Pour Toujours`},dayRules:`Ticket du jour\xA0: les tickets gagnants sortent {n} fois plus souvent.`},detail:{scratch:{small:`trois logos identiques`,big:`trois logos identiques`,jackpot:`trois logos identiques`,match:`numéro gagnant`,three:`trois lots identiques`,pair:`deux lots identiques`,logos:`trois logos identiques`}}}})),st,ct=n((()=>{st={games:{slot:{name:`Slot`,summary:`Trois symboles sur la ligne`,rules:`Deux lots identiques sur la ligne\xA0: un petit lot. Trois lots ou trois 7\xA0: un gros lot. Trois ∞\xA0: le jackpot.`}},slot:{sign:`JACKPOT`,ready:`Tirez le levier`,spinning:`Les rouleaux tournent…`,line:`Sur la ligne`,spin:`Lancer les rouleaux`,lever:`Tirer le levier`,result:{none:`Aucune combinaison`,small:`Paire sur la ligne`,big:`Brelan sur la ligne`,jackpot:`Trois ∞`},names:{takeoff:`Décollage`,breakaway:`Contre-attaque`},takeoff:{rules:`Vol du jour\xA0: les gains sortent {n} fois plus souvent. L'avion décolle et le multiplicateur grimpe\xA0: encaissez avant qu'il s'envole. Dès ×2 vous gagnez un petit lot, dès ×10 un gros lot, à ×50 le jackpot\xA0: plus vous attendez, plus le lot est gros.`,start:`Décoller`,again:`Nouveau vol`,cashOut:`Encaisser {prize}`,cashFrom:`Encaissement dès ×{m}`,ready:`Prêt au décollage`,gone:`Envolé\xA0!`,cashed:`Encaissé à ×{m}\xA0: {prize}`,hint:`Encaissez quand vous voulez\xA0: si l'avion s'envole avant, vous ne gagnez rien`},breakaway:{rules:`Match du jour\xA0: les gains sortent {n} fois plus souvent. Avancez vers le but en choisissant une case par colonne\xA0: l'une cache le défenseur. Chaque colonne franchie fait monter le lot et vous pouvez encaisser quand vous voulez\xA0; devant le but, tirez\xA0: un but vous rapporte ce que vous avez accumulé, jusqu'au jackpot.`,pick:`Choisissez une case de la colonne {n}`,shoot:`Choisissez où tirer`,tackled:`Taclé\xA0! Le lot accumulé est perdu`,goal:`BUT\xA0!`,again:`Nouveau match`,cashOut:`Encaisser {prize}`,cashFrom:`Encaissement dès la colonne {n}`,square:`Colonne {column}, case {row}`,zone:`Tirer dans la zone {n}`}},detail:{slot:{small:`paire sur la ligne`,big:`brelan sur la ligne`,jackpot:`trois ∞`,takeoff:`encaissé à ×{m}`,breakaway:`{n} colonnes franchies`,goal:`but`}}}})),lt,ut=n((()=>{lt={games:{wheel:{name:`Grande Roue`,summary:`Multiplicateur\xA0: lot · Roue\xA0: gain`,rules:`Le Multiplicateur choisit le lot, la roue ce que vous gagnez\xA0: un petit lot ou un gros lot. Pile ou Face, Chasse au Trésor et Pachinko révèlent le gain\xA0; Grande Roue, c’est le jackpot.`}},wheel:{booster:`MULTIPLICATEUR`,spin:`Lancer la roue`,hint:`Ou attrapez la roue et lancez-la\xA0; zoomez sur la roue pour la voir de près`,segment:{coin:`PILE OU FACE`,hunt:`CHASSE AU TRÉSOR`,pachinko:`PACHINKO`,jackpot:`GRANDE ROUE`},pachinkoTitle:`Bonus Pachinko`,pachinkoText:`La bille décide du gain. Le lot reste {prize}.`,toPachinko:`Aller au Pachinko`,boosterRules:`Multiplicateur du jour\xA0: à chaque tour, le Multiplicateur choisit aussi un type de secteur, qui sort {n} fois plus souvent. Le Multiplicateur choisit le lot, la roue ce que vous gagnez\xA0: un petit lot ou un gros lot. Pile ou Face, Chasse au Trésor et Pachinko révèlent le gain\xA0; Grande Roue, c’est le jackpot.`},coin:{text:`Or ou rubis\xA0: la pièce décide du gain.`,gold:`or`,ruby:`rubis`,flip:`Lancer la pièce`},hunt:{text:`Dix-huit cases, un gain sous chacune. Choisissez-en une.`,tile:`Case {n}`},detail:{wheel:{small:`secteur gagnant`,big:`secteur gagnant`,jackpot:`secteur jackpot`,coin:`Pile ou Face`,hunt:`Chasse au Trésor`,pachinko:`bonus Pachinko`}}}})),dt=r({default:()=>ft}),ft,pt=n((()=>{s(),Xe(),Qe(),et(),nt(),it(),ot(),ct(),ut(),ft=o(tt,lt,st,rt,$e,at,Ye,Ze)})),mt,ht=n((()=>{mt={games:{blackjack:{name:`Blackjack`,summary:`Schlag die Bank, ohne über 21 zu kommen`,rules:`Setz bis zu 5 Chips eines Preises in den Kreis vor deinem Platz: Alle Chips gehören zum Preis des ersten. Dann schlag die Bank, ohne über 21 zu kommen; die Bank steht bei 17. Auf deine ersten zwei Karten kannst du verdoppeln, mit einem zweiten Stapel Chips und nur einer Karte, oder zwei gleichwertige Karten in zwei Hände mit je einem Stapel teilen; nach dem Teilen zählt die beste Hand, geteilte Asse bekommen nur eine Karte. Gewinnst du die Hand, gibt es den Preis der Chips: einen kleinen Preis, einen großen mit einem ausgeteilten Blackjack, Ass und Zehn oder Bild. Der Pik-Blackjack, Pik-Ass und Pik-Bube, ist der Jackpot.`},holdem:{name:`Texas Hold'em`,summary:`Die beste Hand gegen die Bank`,rules:`Du und die Bank bekommt je zwei Karten, dann kommen die drei Karten des Flops: mitgehen oder aussteigen. Gehst du mit, folgen Turn und River, und die beste Hand aus fünf Karten gewinnt. Ein Sieg mit höchster Karte, Paar, zwei Paaren oder Drilling bringt einen kleinen Preis, mit Straße oder besser einen großen; der Royal Flush ist der Jackpot. Wer aussteigt, verliert die Hand.`}},cards:{you:`Du`,dealer:`Bank`,deal:`Geben`},blackjack:{print:`Bank steht bei 17 · Pik-Blackjack: Jackpot`,hit:`Karte`,stand:`Stehen`,double:`Verdoppeln`,split:`Teilen`,bet:`Chip für {prize} setzen`,result:{bust:`Überkauft`,lose:`Die Bank gewinnt`,win:`Du schlägst die Bank`,dealerBust:`Die Bank überkauft sich`,natural:`Blackjack!`,spades:`Pik-Blackjack!`}},holdem:{print:`Die Bank spielt jede Hand · Royal Flush: Jackpot`,call:`Mitgehen`,fold:`Aussteigen`,hands:{highCard:`Höchste Karte`,pair:`Paar`,twoPair:`Zwei Paare`,trips:`Drilling`,straight:`Straße`,flush:`Flush`,fullHouse:`Full House`,quads:`Vierling`,straightFlush:`Straight Flush`,royalFlush:`Royal Flush`},result:{folded:`Du bist ausgestiegen`,won:`Du gewinnst mit {hand}`,lost:`Die Bank gewinnt mit {hand}`,split:`Unentschieden`}},detail:{blackjack:{win:`Hand gewonnen`,dealerBust:`Bank überkauft`,natural:`ausgeteilter Blackjack`,spades:`Pik-Blackjack`},holdem:`gewonnen mit {hand}`}}})),gt,_t=n((()=>{gt={developer:{title:`Entwickler-Steuerung`,restore:`Entwickler-Steuerung öffnen`,minimize:`Auf Symbol verkleinern`,close:`Entwickler-Steuerung schließen`,password:`Passwort`,unlock:`Entsperren`,wrongPassword:`Falsches Passwort.`,hint:`Strg+Umschalt+L öffnet und schließt dieses Fenster. Design und Sprache wechseln sofort; die Spieleinstellungen gelten ab dem Neustart des Spiels.`,game:`Spiel`,multiplier:`Multiplikator`,daily:`Tageswert`,result:`Ergebnis`,automatic:`Automatisch`,loss:`Verlust`,win:`Gewinn`,jackpot:`Jackpot`,decidedBy:`Die erweiterte Einstellung „{field}“ entscheidet das Ergebnis.`,advanced:`Erweitert`,field:{segment:`Feld`,prize:`Preis`,combination:`Kombination`,number:`Zahl`,violet:`Violette Kugel`,pocket:`Fach`,award:`Variante`,storm:`Sturmzahl`,booster:`Multiplikator-Feld`},option:{nothing:`Nichts`,award:`{tier} · {award}`,pair:`Logo-Paar`,logos:`Drei Logos`,sevens:`Drei Siebenen`,infinities:`Dreimal unendlich`,hit:`Getroffen`,miss:`Verfehlt`,pocket:`Fach {n}`,lands:`Kommt`,misses:`Kommt nicht`},about:{roulette:`Die gewählte Zahl kommt immer. Bei einem erzwungenen Ergebnis oder einer Sturmzahl, die kommen soll oder nicht, kommt die Zahl aus denen, die die Einsätze auf dem Tisch zulassen; lässt keine es zu, wird normal gezogen. Mit einem Multiplikator wird das Roulette zum Sturm-Roulette.`,pachinko:`Die violette Kugel gibt es nur beim bunten Pachinko, mit einem Multiplikator. Dort hängt der Preis von den getroffenen Roten ab: Beim Jackpot reihen sich die Roten entlang der Fallbahn auf und die Kugel trifft sie alle.`,wheel:`Mit einem Multiplikator wählt der Multiplikator eine Feldart, die öfter kommt: Hier legst du fest, welche. Das gewählte Feld entscheidet trotzdem, wo das Rad stehen bleibt.`,slot:`Normalerweise läuft der klassische Slot. Am Bonustag tritt der Slot des Tages an seine Stelle, Abheben oder Konter, nach dem Datum gezogen: Hier lässt er sich zusammen mit dem Multiplikator festlegen. Das gezogene Ergebnis ist das Höchste, was erreichbar ist.`,scratch:`Normalerweise gibt es das klassische Los. Am Bonustag tritt das Los des Tages an seine Stelle, eines der beiden Zahlenlose, nach dem Datum gezogen: Hier lässt es sich zusammen mit dem Multiplikator festlegen. Eine ohne Preis gewählte Variante geht an einen Preis, der sie auszahlt.`,blackjack:`Der Kartenschlitten inszeniert das gezogene Ergebnis, egal was der Spieler entscheidet: Mit Gewinn wird die Hand gewonnen, mit Jackpot kommt der Pik-Blackjack.`,holdem:`Die Karten werden aus denen gewählt, die das gezogene Ergebnis ergeben: Mit Gewinn gewinnt man, wenn man mitgeht, mit Jackpot kommt der Royal Flush. Wer aussteigt, verliert die Hand trotzdem.`},reset:`Alle Spiele zurücksetzen`,apply:`Anwenden und Spiel neu starten`,variant:{scratch:`Los des Tages`,slot:`Slot des Tages`},theme:`Saal-Design`,calendar:`Nach Kalender`,noTheme:`Keins`,language:`Sprache`,autoLanguage:`Automatisch`,dealer:`Croupier`,dealerShifts:`Nach den Schichten des Tages`,dealerAbsent:`Abwesend`,dealerNumber:`Croupier {n}`}}})),vt,yt=n((()=>{vt={games:{pachinko:{name:`Pachinko`,summary:`Das Fach entscheidet den Preis`,rules:`Wähl den Preis und wo die Kugel fällt: Das Fach entscheidet, was du gewinnst, einen kleinen oder einen großen Preis; das mittlere Fach ist der Jackpot. Fächer mit Strich zahlen nichts.`,bonusRules:`Bonus vom Großen Rad: Der Preis bleibt {prize}. Wähl, wo die Kugel fällt; das Fach zeigt, was du gewinnst.`}},pachinko:{launch:`Kugel fallen lassen`,hint:`Fahr mit der Maus über das Brett, um zu wählen, wo sie fällt, dann klick. Pfeiltasten und Leertaste gehen auch.`,redHits:`Rote getroffen`,powerOn:`Violett aktiv`,powerOff:`Triff den Violetten`,chance:`Gewinnchance`,detail:`Pachinko · bunte Stifte`,colorRules:`Fächer mit Strich zahlen nichts; die anderen steigen mit jedem getroffenen Roten, von einem kleinen bis zu einem großen Preis. Mit allen 8 Roten ist das mittlere Fach der Jackpot. Die violette Kugel vervielfacht die Chancen des Tages noch einmal.`,fever:`Goldfieber`,feverTitle:`ALLE ROTEN!`},detail:{pachinko:`Gewinnfach`}}})),bt,xt=n((()=>{bt={title:`Auf gut Glück`,room:`Spielsaal`,backToOverview:`Zur Übersicht`,backToGames:`Zu den Spielen`,soundOn:`Ton an`,soundOff:`Ton aus`,rules:`Regeln`,chips:`Preis der Chips`,ticker:{1:`Auf gut Glück`,2:`Großes Rad: Der Jackpot ist auf dem Rad`,3:`Drei ∞ auf der Linie: Jackpot`,4:`Ein Plein beim Roulette ist den Jackpot wert`,5:`Drei gleiche Logos unter der Rubbelschicht`,6:`Das mittlere Pachinko-Fach zahlt den Jackpot`},win:{title:`Gewonnen`,jackpot:`Jackpot`},tier:{small:`Kleiner Gewinn`,big:`Großer Gewinn`,jackpot:`Jackpot`,symbol:{small:`★`,big:`★★`,jackpot:`★★★`}},boost:{badge:`×{n}`,title:`Bonus des Tages`,odds:`Bonus des Tages: Gewinne {n}-mal so wahrscheinlich`,dealer:`Croupier am Tisch`,dealerOdds:`Croupier am Tisch: Gewinne {n}-mal so wahrscheinlich`},themes:{christmas:{name:`Weihnachten`,greeting:`Frohe Festtage: Unterm Baum wartet ein Preis`},halloween:{name:`Halloween`,greeting:`Süßes oder Preis?`},easter:{name:`Ostern`,greeting:`Frohe Ostern: Was steckt wohl im Ei?`},august:{name:`August`,greeting:`Schöne Sommerferien wünscht der Spielsaal`}},lobby:{games:`Spielsaal`,private:`Salon Privé`,privateLine:`Reservierte Tische`,pager:`Säle`},chipCount:{hint:`Setz bis zu {n} Chips`,left:`Noch {n} Chips`,leftOne:`Noch 1 Chip`,none:`Keine Chips mehr`},cert:{title:`Preis gewonnen`,prize:`Preis`,variant:`Variante`,fullPrize:`Der ganze Preis`,wonOn:`Gewonnen am`,notClaimed:`Einzulösen`,claimed:`Eingelöst`,claim:`Preis einlösen`,claiming:`Wird eingelöst…`,claimFailed:`Der Preis konnte nicht eingelöst werden. Versuch es noch einmal.`,seal:`AUF GUT GLÜCK · PREIS GEWONNEN ·`,sealClaimed:`EINGELÖST · AUF GUT GLÜCK ·`,again:`{game} noch mal spielen`,otherGame:`Spiel wechseln`}}})),St,Ct=n((()=>{St={games:{roulette:{name:`Roulette`,summary:`Setz deine Chips, dann wirf die Kugel`,rules:`Setz bis zu {n} Chips eines Preises, auf den Tisch oder mit Nassa, Orphelins und Tiers, die sie auf ihre Pleins und Chevaux verteilen: Alle Chips gehören zum Preis des ersten. Ein Plein gewinnt den Jackpot; Cheval, Transversale pleine, Carré und Transversale simple einen großen Preis; Kolonnen, Dutzende und einfache Chancen einen kleinen Preis. Gewinnen mehrere Einsätze, zählt der beste.`}},roulette:{launch:`Kugel werfen`,clear:`Chips zurücknehmen`,table:`Tisch`,call:{made:`Les jeux sont faits`,closed:`Rien ne va plus`},board:{column:`2:1`,dozen1:`12P`,dozen2:`12M`,dozen3:`12D`,low:`Manque`,even:`Pair`,odd:`Impair`,high:`Passe`},kind:{straight:`Plein {numbers}`,split:`Cheval {numbers}`,street:`Transversale pleine {numbers}`,corner:`Carré {numbers}`,line:`Transversale simple {numbers}`},spot:{column:{1:`Kolonne 1-34`,2:`Kolonne 2-35`,3:`Kolonne 3-36`},dozen:{1:`Erstes Dutzend`,2:`Mittleres Dutzend`,3:`Letztes Dutzend`},chance:{low:`Manque, 1 bis 18`,even:`Pair`,red:`Rouge`,black:`Noir`,odd:`Impair`,high:`Passe, 19 bis 36`}},track:`Annoncen`,announced:{nassa:`Nassa`,orphans:`Orphelins`,tiers:`Tiers`,cost:`{n} Chips`,label:`{name}, {n} Chips`},surface:`Wo setzen`,storm:{title:`Sturm`,rules:`Sturm-Roulette, der Bonus des Tages. Setz bis zu {n} Chips wie beim Roulette; bei jedem Wurf schlägt nach Rien ne va plus der Blitz in 3 Zahlen ein, die {m}-mal so oft kommen. Ein Plein gewinnt den Jackpot; Chevaux, Transversales pleines, Carrés und Transversales simples einen großen Preis; Kolonnen, Dutzende und einfache Chancen einen kleinen Preis.`,odds:`Kommen {n}× so oft`,numbers:`Blitzzahlen`},undo:`Letzten Chip entfernen`,rebet:`Einsatz wiederholen`},detail:{roulette:`Zahl {n}`,storm:`Blitzzahl {n}`}}})),wt,Tt=n((()=>{wt={games:{scratch:{name:`Rubbellos`,summary:`Drei gleiche Logos`,rules:`Drei gleiche Logos gewinnen diesen Preis; der Streifen unten zeigt, was er zahlt, bis zum Jackpot.`}},scratch:{title:`Rubbel deinen Preis frei`,rule:`Drei gleiche Logos gewinnen den Preis. Der Streifen unten zeigt, was er zahlt.`,award:`Gewinn`,series:`AUF GUT GLÜCK · SERIE FORTUNA`,watermark:`GLÜCK`,revealAll:`Alles freirubbeln`,newTicket:`Neues Los`,hint:`Rubbel mit der Maus oder dem Finger`,locked:`Freirubbeln mit drei gleichen Logos`,prize:`PREIS`,winningNumbers:`GEWINNZAHLEN`,yourNumbers:`DEINE ZAHLEN`,game:`SPIEL {n}`,topPrize:`HAUPTPREIS: DER JACKPOT`,double:{first:`DOPPEL`,second:`GLÜCK`,tagline:`2 Spiele in einem!`,rules:`Zwei Arten zu gewinnen: Eine Gewinnzahl unter deinen Zahlen gewinnt den Preis darunter; drei gleiche Preise gewinnen diesen Preis. Unter den Logos liegt kein Preis: Drei gleiche Logos gewinnen den Jackpot.`},forever:{first:`FÜR`,middle:`∞`,second:`IMMER`,jackpot:`3 gleiche Logos: der Jackpot`,pairRule:`Zwei gleiche Preise gewinnen diesen Preis`,rules:`Spiel 1: Eine Gewinnzahl unter deinen Zahlen gewinnt den Preis darunter; unter den Logos liegt kein Preis, aber drei gleiche Logos gewinnen den Jackpot. Spiel 2: Zwei gleiche Preise gewinnen diesen Preis.`},names:{double:`Doppelglück`,forever:`Für Immer`},dayRules:`Los des Tages: Gewinnlose kommen {n}-mal so oft.`},detail:{scratch:{small:`drei gleiche Logos`,big:`drei gleiche Logos`,jackpot:`drei gleiche Logos`,match:`Gewinnzahl`,three:`drei gleiche Preise`,pair:`zwei gleiche Preise`,logos:`drei gleiche Logos`}}}})),Et,Dt=n((()=>{Et={games:{slot:{name:`Slot`,summary:`Drei Symbole auf der Linie`,rules:`Zwei gleiche Preise auf der Linie: ein kleiner Preis. Drei Preise oder drei 7: ein großer Preis. Drei ∞: der Jackpot.`}},slot:{sign:`JACKPOT`,ready:`Zieh den Hebel`,spinning:`Die Walzen drehen sich…`,line:`Auf der Linie`,spin:`Walzen drehen`,lever:`Hebel ziehen`,result:{none:`Keine Kombination`,small:`Paar auf der Linie`,big:`Drilling auf der Linie`,jackpot:`Drei ∞`},names:{takeoff:`Abheben`,breakaway:`Konter`},takeoff:{rules:`Flug des Tages: Gewinne kommen {n}-mal so oft. Das Flugzeug hebt ab und der Multiplikator steigt: Kassier, bevor es davonfliegt. Ab ×2 gewinnst du einen kleinen Preis, ab ×10 einen großen, bei ×50 den Jackpot: Je länger du wartest, desto größer der Preis.`,start:`Abheben`,again:`Neuer Flug`,cashOut:`{prize} kassieren`,cashFrom:`Kassieren ab ×{m}`,ready:`Bereit zum Abheben`,gone:`Davongeflogen!`,cashed:`Kassiert bei ×{m}: {prize}`,hint:`Kassier, wann du willst: Fliegt das Flugzeug vorher davon, gewinnst du nichts`},breakaway:{rules:`Spiel des Tages: Gewinne kommen {n}-mal so oft. Lauf aufs Tor zu und wähl in jeder Spalte ein Feld: In einem steht der Verteidiger. Jede geschaffte Spalte erhöht den Preis und du kannst jederzeit kassieren; vor dem Tor schießt du: Mit dem Tor gewinnst du, was du gesammelt hast, bis zum Jackpot.`,pick:`Wähl ein Feld in Spalte {n}`,shoot:`Wähl, wohin du schießt`,tackled:`Abgegrätscht! Der gesammelte Preis ist weg`,goal:`TOR!`,again:`Neues Spiel`,cashOut:`{prize} kassieren`,cashFrom:`Kassieren ab Spalte {n}`,square:`Spalte {column}, Feld {row}`,zone:`Auf Zone {n} schießen`}},detail:{slot:{small:`Paar auf der Linie`,big:`Drilling auf der Linie`,jackpot:`drei ∞`,takeoff:`kassiert bei ×{m}`,breakaway:`{n} Spalten geschafft`,goal:`Tor`}}}})),Ot,kt=n((()=>{Ot={games:{wheel:{name:`Großes Rad`,summary:`Multiplikator: Preis · Rad: Gewinn`,rules:`Der Multiplikator wählt den Preis, das Rad den Gewinn: einen kleinen oder einen großen Preis. Kopf oder Zahl, Preisjagd und Pachinko decken den Gewinn auf; Großes Rad ist der Jackpot.`}},wheel:{booster:`MULTIPLIKATOR`,spin:`Rad drehen`,hint:`Oder pack das Rad und schleudere es; zoome auf das Rad, um es aus der Nähe zu sehen`,segment:{coin:`KOPF ODER ZAHL`,hunt:`PREISJAGD`,pachinko:`PACHINKO`,jackpot:`GROSSES RAD`},pachinkoTitle:`Pachinko-Bonus`,pachinkoText:`Die Kugel entscheidet den Gewinn. Der Preis bleibt {prize}.`,toPachinko:`Zum Pachinko`,boosterRules:`Multiplikator des Tages: Bei jeder Drehung wählt der Multiplikator auch eine Feldart, die {n}-mal so oft kommt. Der Multiplikator wählt den Preis, das Rad den Gewinn: einen kleinen oder einen großen Preis. Kopf oder Zahl, Preisjagd und Pachinko decken den Gewinn auf; Großes Rad ist der Jackpot.`},coin:{text:`Gold oder Rubin: Die Münze entscheidet den Gewinn.`,gold:`Gold`,ruby:`Rubin`,flip:`Münze werfen`},hunt:{text:`Achtzehn Felder, unter jedem ein Gewinn. Wähl eins.`,tile:`Feld {n}`},detail:{wheel:{small:`Gewinnfeld`,big:`Gewinnfeld`,jackpot:`Jackpotfeld`,coin:`Kopf oder Zahl`,hunt:`Preisjagd`,pachinko:`Pachinko-Bonus`}}}})),At=r({default:()=>jt}),jt,Mt=n((()=>{s(),ht(),_t(),yt(),xt(),Ct(),Tt(),Dt(),kt(),jt=o(bt,Ot,Et,St,vt,wt,mt,gt)}));async function Nt(e){await Promise.all(e.filter(e=>Pt[e]&&!It[e]).map(async e=>It[e]=(await Pt[e]()).default))}var Pt,Ft,It,Lt,Rt,zt=n((()=>{ue(),Pt={it:()=>Promise.resolve().then(()=>(ke(),De)),es:()=>Promise.resolve().then(()=>(Je(),Ke)),fr:()=>Promise.resolve().then(()=>(pt(),dt)),de:()=>Promise.resolve().then(()=>(Mt(),At))},Ft=[`en`,...Object.keys(Pt)],It={en:le},Lt=e=>It[e],Rt=e=>e.every(e=>!Pt[e]||It[e])}));function Bt(e){let t=e,n=new Set;return{get value(){return t},set value(e){Object.is(e,t)||(t=e,this.notify())},subscribe(e){return n.add(e),()=>n.delete(e)},notify(){n.forEach(e=>e())}}}var Vt=n((()=>{}));function Ht(){Kt.value=Gt(),!(qt||typeof MutationObserver>`u`)&&(qt=!0,new MutationObserver(()=>Kt.value=Gt()).observe(document.documentElement,{attributes:!0,attributeFilter:[`lang`]}))}function Ut(e,t){let n=e;for(let e of t.split(`.`))n=typeof n==`object`?n[e]:void 0;return typeof n==`string`?n:void 0}function Wt(e,t={}){let n=Jt(e).flatMap(e=>[t[e],Lt(e)]);return(e,t={})=>(n.reduce((t,n)=>t??Ut(n,e),void 0)??e).replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):e)}var Gt,Kt,qt,Jt,Yt,Xt,Zt=n((()=>{zt(),Vt(),Gt=()=>typeof document<`u`&&document.documentElement.lang||(typeof navigator<`u`?navigator.language:``)||`en`,Kt=Bt(Gt()),qt=!1,Jt=e=>[...new Set([e,e.split(`-`)[0],`en`])],Yt=e=>Rt(Jt(e)),Xt=e=>Nt(Jt(e))})),Qt,$t=n((()=>{Qt=`.lk-cards{flex-direction:column;align-items:center;width:min(920px,100cqw - 24px,180cqh - 198px);display:flex}.lk-ctable{--lk-card-w:7cqw;width:100%;padding:0 30px 50px;container-type:inline-size}.lk-ctable-felt{z-index:1;aspect-ratio:9/5;border-radius:0 0 50% 50%/0 0 100% 100%;position:relative;box-shadow:0 46px 60px -10px #000c}.lk-ctable-rail,.lk-ctable-cloth{pointer-events:none;border-radius:0 0 50% 50%/0 0 100% 100%;position:absolute}.lk-ctable-rail{background:#2a120c;inset:-17px;box-shadow:inset 0 0 0 1px #8a6420}.lk-ctable-cloth{background:radial-gradient(60% 70% at 50% 28%,#ffe1aa1f,#0000 70%),radial-gradient(120% 100% at 50% 0,#1d4636,#0a1d16 75%);inset:0;box-shadow:0 0 0 2px #c9a04a,inset 0 0 70px #0000008c}.lk-ctable-rail{-webkit-mask:radial-gradient(calc(100% * var(--lk-notch-x)) calc(100% * var(--lk-notch-y)) at 50% 17px, transparent 99%, #000 100%);mask:radial-gradient(calc(100% * var(--lk-notch-x)) calc(100% * var(--lk-notch-y)) at 50% 17px, transparent 99%, #000 100%)}.lk-ctable-cloth{-webkit-mask:radial-gradient(calc(100% * var(--lk-notch-x)) calc(100% * var(--lk-notch-y)) at 50% 0, transparent 99%, #000 100%);mask:radial-gradient(calc(100% * var(--lk-notch-x)) calc(100% * var(--lk-notch-y)) at 50% 0, transparent 99%, #000 100%)}.lk-ctable-print{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lk-ctable-print text{font:600 15px var(--lk-display-font);letter-spacing:.22em;text-transform:uppercase;fill:#f3d4886b}.lk-ctable-shoe{width:calc(var(--lk-card-w) * 1.05);aspect-ratio:5/7;position:absolute;top:5%;right:9%}.lk-ctable-shoe b{border-radius:calc(var(--lk-card-w) * .1);box-shadow:inset 0 0 0 calc(var(--lk-card-w) * .05) #f3e3bd, 0 3px 6px #00000080;background:repeating-linear-gradient(45deg,#f3d4882e 0 2px,#0000 2px 7px),linear-gradient(160deg,#7d1c24,#3e0b10);position:absolute;inset:0}.lk-ctable-shoe b:nth-child(2){translate:-3px 3px}.lk-ctable-shoe b:nth-child(3){translate:-6px 6px}.lk-ctable-dealer{justify-items:center;gap:6px;display:grid;position:absolute;top:5%;left:50%;translate:-50%}.lk-ctable-centre{justify-items:center;gap:10px;display:grid;position:absolute;top:33%;left:50%;translate:-50%}.lk-cards--blackjack .lk-ctable-centre{top:37%}.lk-cards--blackjack .lk-ctable-player{top:47%}.lk-ctable-bet{position:absolute;top:81%;left:50%;translate:-50% -50%}.lk-bet{width:calc(var(--lk-card-w) * 1.3);aspect-ratio:1;cursor:default;background:radial-gradient(circle,#0003 0 58%,#0000 60%);border:0;border-radius:50%;padding:0;display:block;position:relative;box-shadow:inset 0 0 0 2px #f3d4888c,inset 0 0 0 6px #0000,inset 0 0 0 7px #f3d48838}.lk-bet.is-open{cursor:pointer;animation:1.6s ease-in-out infinite alternate lk-bet-glow}.lk-bet:focus-visible{outline:2px solid var(--lk-gold);outline-offset:3px}@keyframes lk-bet-glow{to{box-shadow:inset 0 0 0 2px #f6dd96,inset 0 0 0 6px #0000,inset 0 0 0 7px #f3d48866,0 0 18px #ffd36e73}}.lk-bet-chip{aspect-ratio:1;width:64%;translate:calc(-50% + var(--stack,0) * 72%) calc(-50% - var(--n) * 4px);transition:translate .35s var(--lk-ease-out);background:radial-gradient(circle, var(--lk-chip) 0 56%, #fbf3df99 57% 59%, transparent 60%), repeating-conic-gradient(from 7deg, #fbf3df 0 16deg, var(--lk-chip) 16deg 45deg);animation:lk-chip-drop .38s var(--lk-ease-expo) both;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 0 1px #00000059,0 2px #00000073}.lk-bet-chip img{width:42%}.lk-bet-chip.is-winning{animation:lk-chip-drop .38s var(--lk-ease-expo) both, lk-chip-win .5s ease-in-out infinite alternate}.lk-cards-rack{margin-top:18px}.lk-cards--blackjack .lk-ctable-player{gap:calc(var(--lk-card-w) * .5)}.lk-split{border-radius:12px;align-items:center;gap:8px;padding:6px 8px;transition:box-shadow .3s;display:flex}.lk-split.is-active{box-shadow:0 0 0 1.5px var(--lk-gold), 0 0 18px #ffd36e73}.lk-hand-total small{color:var(--lk-gold);margin-left:4px;font-size:11px}.lk-cards.is-clearing :is(.lk-card,.lk-bet-chip,.lk-board-slot){animation:lk-card-collect .6s var(--lk-ease-in) forwards}.lk-cards.is-clearing :is(.lk-cards-result,.lk-hand-total,.lk-hand-name b){opacity:0;transition:opacity .4s}@keyframes lk-card-collect{to{opacity:0;transform:translate(calc(var(--lk-card-w,64px) * -5), calc(var(--lk-card-w,64px) * -4)) rotate(-35deg) scale(.8)}}.lk-ctable-player{align-items:center;gap:10px;display:flex;position:absolute;top:59%;left:50%;translate:-50%}.lk-cards--holdem .lk-ctable-player{top:64%}.lk-seat{width:calc(var(--lk-card-w) * .8);aspect-ratio:1;color:#e2bd638c;font-size:calc(var(--lk-card-w) * .4);cursor:help;background:radial-gradient(circle at 40% 30%,#2a1a12,#120a07);border-radius:50%;place-items:center;transition:color .2s,box-shadow .2s;display:grid;position:absolute;translate:-50% -50%;box-shadow:inset 0 0 0 1.5px #e2bd6366,0 4px 10px #00000080}.lk-seat.is-mine{z-index:1;width:calc(var(--lk-card-w) * .8);cursor:default;background:radial-gradient(circle at 40% 30%,#3a1a0b,#1e0d06);overflow:visible;box-shadow:0 0 0 2px #f6dd96,0 0 0 4px #2a120c,0 0 0 5px #a77c2c,0 0 16px #ffd36e8c}.lk-seat.is-mine :is(img,.lk-seat-avatar){border-radius:50%;width:100%;height:100%}.lk-seat-avatar{fill:#e2bd6399}.lk-seat.is-mine b{max-width:calc(var(--lk-card-w) * 2.4);color:#2a1a05;font:700 11px var(--font-sans,inherit);text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#f6dd96,#d4a94e 55%,#a77c2c);border-radius:999px;padding:2px 10px;position:absolute;top:calc(100% + 4px);left:50%;overflow:hidden;translate:-50%;box-shadow:0 2px 6px #00000080}.lk-hand{display:flex}.lk-hand>.lk-card+.lk-card{margin-left:calc(var(--lk-card-w) * -.42)}.lk-board{gap:calc(var(--lk-card-w) * .12);display:flex}.lk-board-slot{width:var(--lk-card-w);aspect-ratio:5/7;border-radius:calc(var(--lk-card-w) * .1);box-shadow:inset 0 0 0 1.5px #e2bd6340}.lk-hand-name{color:var(--lk-text-muted);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.lk-hand-name b,.lk-hand-total{color:var(--lk-gold-hi);box-shadow:inset 0 0 0 1px var(--lk-gold-line);letter-spacing:0;text-transform:none;background:#120a07;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}.lk-hand-total{text-align:center;min-width:34px;animation:.3s both lk-fade-in}.lk-hand-total.is-bust{color:#ff9a8f;box-shadow:inset 0 0 0 1px #ff786e80}.lk-cards-result{box-shadow:inset 0 0 0 1px var(--lk-gold-line);color:var(--lk-text);font:italic 700 18px var(--lk-display-font);white-space:nowrap;background:#080403c7;border-radius:999px;margin:0;padding:6px 18px;animation:.3s both lk-fade-in}.lk-cards-result.is-won{color:#fff3c4;box-shadow:inset 0 0 0 1px var(--lk-gold), 0 0 24px #ffd36e73}.lk-cards-controls{flex-direction:row;gap:12px;margin-top:22px}.lk-card{width:var(--lk-card-w,64px);aspect-ratio:5/7;perspective:700px;animation:lk-card-deal .45s var(--lk-ease-out) both;transition:translate .3s var(--lk-ease-out);flex:none;position:relative}@keyframes lk-card-deal{0%{opacity:0;transform:translate(calc(var(--lk-card-w,64px) * 4), calc(var(--lk-card-w,64px) * -3)) rotate(-28deg)}}.lk-card-turn{transform-style:preserve-3d;transition:transform .55s var(--lk-ease-out);position:absolute;inset:0}.lk-card.is-hidden .lk-card-turn{transform:rotateY(180deg)}.lk-card-face,.lk-card-back{border-radius:calc(var(--lk-card-w,64px) * .1);backface-visibility:hidden;position:absolute;inset:0}.lk-card-face{color:#1a120c;background:linear-gradient(160deg,#fffdf6,#efe6cf);box-shadow:inset 0 0 0 1px #3c280a40,0 4px 10px #00000073}.lk-card.is-red .lk-card-face{color:#b3202b}.lk-card-back{box-shadow:inset 0 0 0 calc(var(--lk-card-w,64px) * .05) #f3e3bd, inset 0 0 0 calc(var(--lk-card-w,64px) * .065) #8a6420, 0 4px 10px #00000073;background:repeating-linear-gradient(45deg,#f3d4882e 0 2px,#0000 2px 7px),repeating-linear-gradient(-45deg,#f3d4882e 0 2px,#0000 2px 7px),linear-gradient(160deg,#7d1c24,#3e0b10);transform:rotateY(180deg)}.lk-card-corner{justify-items:center;line-height:1;display:grid;position:absolute;top:5%;left:8%}.lk-card-corner b{font:700 calc(var(--lk-card-w,64px) * .26) var(--lk-display-font)}.lk-card-corner svg{width:calc(var(--lk-card-w,64px) * .17);fill:currentColor;margin-top:2px}.lk-card-corner.is-turned{inset:auto 8% 5% auto;rotate:180deg}.lk-card-pip{width:calc(var(--lk-card-w,64px) * .44);fill:currentColor;position:absolute;top:50%;left:50%;translate:-50% -50%}.lk-card.is-lit{translate:0 -8px}.lk-card.is-lit .lk-card-face{box-shadow:inset 0 0 0 1px #3c280a40,0 0 0 2px #f6dd96,0 0 18px #ffd36ecc}@media (prefers-reduced-motion:reduce){.lk-page,.lk-veil,.lk-card,.lk-card-turn,.lk-mini-hand .lk-card+.lk-card{transition:none;animation:none}}.lk-cards{transition:width .7s var(--lk-ease-out)}.lk-cards:has(.has-dealer){width:min(920px,100cqw - 24px,132cqh - 79.2px)}.lk-cards-rack{transition:width .7s var(--lk-ease-out), margin-top .7s var(--lk-ease-out)}.lk-cards:has(.has-dealer) .lk-cards-rack{width:calc(100cqw - 56px);margin-top:-58px}.lk-ctable{--lk-notch-x:0;--lk-notch-y:0;transition:--lk-notch-x .7s var(--lk-ease-out), --lk-notch-y .7s var(--lk-ease-out)}.lk-ctable.has-dealer{--lk-card-w:5.6cqw;--lk-notch-x:.18;--lk-notch-y:.13}.lk-ctable-notch{width:calc(200% * var(--lk-notch-x) + 34px);height:calc(200% * var(--lk-notch-y) + 34px);clip-path:inset(calc(50% - 17px) -4px -4px);opacity:0;pointer-events:none;border:16px solid #2a120c;border-radius:50%;transition:opacity .4s;position:absolute;top:0;left:50%;translate:-50% -50%;box-shadow:0 0 0 2px #c9a04a,inset 0 0 0 1px #8a6420}.lk-ctable.has-dealer .lk-ctable-notch{opacity:1}.lk-dealer{pointer-events:none;height:0;transition:height .7s var(--lk-ease-out);position:relative}.lk-ctable.has-dealer .lk-dealer{height:16cqw}.lk-dealer-photo{z-index:0;opacity:0;transform-origin:50% 100%;filter:drop-shadow(0 10px 16px #00000080);width:30cqw;transition:opacity .6s ease, translate .7s var(--lk-ease-out);animation:4.2s ease-in-out infinite alternate lk-dealer-breath;position:absolute;top:0;left:50%;translate:-50% 18%}.lk-dealer-photo.is-shown{opacity:1;transition-delay:.25s;translate:-50%}@starting-style{.lk-dealer-photo.is-shown{opacity:0;translate:-50% 18%}}.lk-dealer-photo.is-hands{z-index:2;filter:none}.lk-dealer-photo.is-hands:not(.is-shown){transition:none}@keyframes lk-dealer-breath{to{transform:translateY(-1.5px)scale(1.006)}}.lk-dealer-photo.is-dealing{animation:.48s ease-in-out infinite alternate lk-dealer-deal}@keyframes lk-dealer-deal{0%{transform:rotate(0)}to{transform:rotate(.8deg)translateY(2px)}}@media (prefers-reduced-motion:reduce){.lk-dealer-photo,.lk-dealer-photo.is-dealing{animation:none}}.lk-ctable-dealer,.lk-ctable-centre,.lk-ctable-player{transition:top .6s var(--lk-ease-out)}.lk-ctable.has-dealer .lk-ctable-dealer{top:27%}.lk-ctable.has-dealer .lk-ctable-centre{top:47%}.lk-cards--blackjack .lk-ctable.has-dealer .lk-ctable-player{top:54%}.lk-cards--holdem .lk-ctable.has-dealer .lk-ctable-player{top:70%}`})),en,tn=n((()=>{en=`.lk-dev{--dev-bg:oklch(22% .03 55);--dev-surface:oklch(28% .035 55);--dev-line:oklch(62% .1 80);--dev-ink:oklch(96% .03 85);--dev-muted:oklch(82% .04 80);--dev-gold:oklch(78% .12 82);z-index:200;color:var(--dev-ink);font-size:.875rem;line-height:1.45;position:fixed}.lk-dev *,.lk-dev :before,.lk-dev :after{box-sizing:border-box}.lk-dev button{background:0 0;border:0;margin:0;padding:0}.lk-dev button,.lk-dev select,.lk-dev input{font:inherit}.lk-dev-panel{background:var(--dev-bg);border:1px solid var(--dev-line);border-radius:.75rem;flex-direction:column;width:min(26rem,100vw - 16px);max-height:calc(100dvh - 16px);display:flex;overflow:hidden;box-shadow:0 12px 40px oklch(0% 0 0/.55)}.lk-dev header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-bottom:1px solid oklch(62% .1 80/.35);align-items:center;gap:.375rem;padding:.5rem .5rem .5rem .375rem;display:flex}.lk-dev header:active{cursor:grabbing}.lk-dev header strong{flex:1;align-items:center;gap:.5rem;font-weight:600;display:flex}.lk-dev-grip{color:var(--dev-muted)}.lk-dev header button{width:2rem;height:2rem;color:var(--dev-muted);border-radius:.375rem;place-items:center;transition:background-color .15s ease-out,color .15s ease-out;display:grid}.lk-dev header button:hover{color:var(--dev-ink);background:var(--dev-surface)}.lk-dev-body{gap:.75rem;margin:0;padding:.875rem 1rem 1rem;display:grid;overflow-y:auto}.lk-dev-hint,.lk-dev-note{color:var(--dev-muted);text-wrap:pretty;margin:0}.lk-dev-note{font-size:.8125rem}.lk-dev-error{color:oklch(80% .13 25);margin:0}.lk-dev-row{grid-template-columns:7.5rem 1fr;align-items:center;gap:.75rem;display:grid}.lk-dev select,.lk-dev input{min-width:0;height:2.125rem;color:var(--dev-ink);background:var(--dev-surface);border:1px solid oklch(62% .1 80/.6);border-radius:.375rem;margin:0;padding:0 .5rem}.lk-dev select:disabled{opacity:.55}.lk-dev input[aria-invalid=true]{border-color:oklch(70% .16 25)}.lk-dev option{color:var(--dev-ink);background:var(--dev-bg)}.lk-dev-advanced{border-top:1px solid oklch(62% .1 80/.35);padding-top:.75rem}.lk-dev-advanced>:not(summary){margin-top:.75rem}.lk-dev summary{width:fit-content;color:var(--dev-gold);cursor:pointer;align-items:center;gap:.375rem;font-weight:600;list-style:none;display:flex}.lk-dev summary::-webkit-details-marker{display:none}.lk-dev summary .fl-icon{transition:transform .15s ease-out}.lk-dev-advanced[open] summary .fl-icon{transform:rotate(90deg)}.lk-dev footer{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.lk-dev footer button{height:2.125rem;color:var(--dev-ink);cursor:pointer;border:1px solid oklch(62% .1 80/.6);border-radius:.375rem;align-items:center;gap:.375rem;padding:0 .75rem;transition:background-color .15s ease-out;display:inline-flex}.lk-dev footer button:hover:not(:disabled){background:var(--dev-surface)}.lk-dev footer button.is-primary{color:oklch(20% .03 60);background:var(--dev-gold);border-color:var(--dev-gold);font-weight:600}.lk-dev footer button.is-primary:hover:not(:disabled){background:oklch(85% .11 85)}.lk-dev footer button:disabled{opacity:.5;cursor:not-allowed}.lk-dev .lk-dev-icon{width:3rem;height:3rem;color:var(--dev-gold);background:var(--dev-bg);border:1px solid var(--dev-line);cursor:grab;touch-action:none;border-radius:50%;place-items:center;font-size:1.25rem;transition:transform .15s ease-out;display:grid;box-shadow:0 8px 24px oklch(0% 0 0/.5)}.lk-dev-icon:hover{transform:scale(1.06)}.lk-dev-icon:active{cursor:grabbing}.lk-dev button:focus-visible,.lk-dev select:focus-visible,.lk-dev input:focus-visible,.lk-dev summary:focus-visible{outline:2px solid var(--dev-ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){.lk-dev header button,.lk-dev footer button,.lk-dev-icon,.lk-dev summary .fl-icon{transition:none}}`})),nn,rn=n((()=>{nn=`.lk-pachinko{flex-direction:column;align-items:center;display:flex}.lk-pachinko-cab{background:linear-gradient(#7a3d1c,#4a2410 45%,#2a1208);border-radius:34px 34px 22px 22px;padding:14px;box-shadow:inset 0 0 0 2px #6b4a14,inset 0 0 0 4px #f3d488,inset 0 0 0 6px #8a6420,0 40px 80px -20px #000000d9}.lk-pachinko canvas{aspect-ratio:400/620;touch-action:none;border-radius:24px 24px 12px 12px;width:auto;height:clamp(260px,100cqh - 130px,620px);display:block}.lk-pachinko-controls{align-items:center;gap:22px;margin-top:20px;display:flex}.lk-pachinko canvas.is-aiming{cursor:pointer}.lk-peg-score{color:var(--lk-gold-hi);justify-content:center;align-items:center;gap:24px;margin-bottom:12px;display:flex}.lk-peg-score>span{font-variant-numeric:tabular-nums;grid-template-columns:auto auto;align-items:center;gap:3px 6px;display:grid}.lk-peg-score b{font-size:17px}.lk-peg-score small{color:var(--lk-text-muted);grid-column:1/-1;font-size:11px}.lk-peg-red{color:#ff9aa7}.lk-peg-power{color:#cda9e5}.lk-peg-power.is-active{color:#f4c3ff;text-shadow:0 0 15px #b159ee}.lk-pachinko--color canvas{height:clamp(210px,100cqh - 185px,620px)}.lk-pachinko--color .lk-pachinko-controls{margin-top:12px}.lk-pachinko-cab{position:relative}.lk-peg-fever{z-index:2;pointer-events:none;text-align:center;text-shadow:0 3px #74341b,0 6px 25px #05051a;animation:lk-peg-fever-in .7s var(--lk-ease-expo) both;justify-items:center;gap:6px;display:grid;position:absolute;inset:25% -45% auto;transform:rotate(-8deg)}.lk-peg-fever span{color:#fff4d6;font:italic 700 32px var(--lk-display-font)}.lk-peg-fever strong{color:#ffe18d;font:900 36px var(--lk-display-font)}.lk-pachinko-cab.is-fever{box-shadow:inset 0 0 0 3px #fff1ba,0 0 45px #b279e788,0 0 85px #f9c26f66}.lk-peg-fever:before{content:"";z-index:-1;background:repeating-conic-gradient(#ffd27055 0deg 9deg,#0000 9deg 22.5deg);animation:12s linear infinite lk-peg-rays;position:absolute;inset:-140px -10%;-webkit-mask-image:radial-gradient(#000 5%,#0000 68%);mask-image:radial-gradient(#000 5%,#0000 68%)}@keyframes lk-peg-fever-in{0%{opacity:0;transform:rotate(-8deg)scale(.45)}to{opacity:1;transform:rotate(-8deg)scale(1)}}@media (prefers-reduced-motion:reduce){.lk-peg-fever{animation:none}.lk-peg-fever:before{display:none}}`})),an,on=n((()=>{an=`:where(.lk-room),:where(.lk-room) *,:where(.lk-room) :before,:where(.lk-room) :after,:where(.lk-room) ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where(.lk-room){-webkit-text-size-adjust:100%;tab-size:4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}:where(.lk-room) :is(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(.lk-room) a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:where(.lk-room) :is(b,strong){font-weight:bolder}:where(.lk-room) small{font-size:80%}:where(.lk-room) table{text-indent:0;border-color:inherit;border-collapse:collapse}:where(.lk-room) :is(ol,ul,menu){list-style:none}:where(.lk-room) :is(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where(.lk-room) :is(img,video){max-width:100%;height:auto}:where(.lk-room) :is(button,input,select,optgroup,textarea){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(.lk-room) ::placeholder{opacity:1;color:color-mix(in oklab, currentcolor 50%, transparent)}:where(.lk-room) [hidden]:where(:not([hidden=until-found])){display:none!important}.lk-room{--lk-page:oklch(14% .02 35);--lk-gold:#e2bd63;--lk-gold-hi:#f6e2a6;--lk-gold-lo:#8a6420;--lk-gold-line:#e2bd6366;--lk-wood:#3a1a0b;--lk-wood-deep:#1e0d06;--lk-text-hi:#fbf3df;--lk-text:#eadfc6;--lk-text-muted:#c9bb98;--lk-text-dim:#a29473;--lk-lamp-on:#ffe3a0;--lk-lamp-off:#4a3a1e;--lk-lamp-alt:#fff8e6;--lk-display:#120a05;--lk-display-ink:#ffd889;--lk-seg-1:#1d3561;--lk-seg-2:#c9a04a;--lk-seg-2-ink:#2a1a05;--lk-seg-5:#7d1c24;--lk-seg-10:#efe4c8;--lk-seg-10-ink:#3a240a;--lk-seg-pk:#22584d;--lk-seg-ch:#1c6136;--lk-rl-red:#9e1b22;--lk-rl-red-deep:#6e1218;--lk-rl-black:#17120e;--lk-rl-black-deep:#0c0906;--lk-rl-zero:#156b3c;--lk-rl-zero-deep:#0e4a29;--lk-rl-bowl:#4a2410;--lk-rl-track:#6b3519;--lk-rl-cone:#8a4a24;--lk-rl-cone-edge:#3a1a0b;--lk-board-top:#4a2614;--lk-board-bottom:#22100a;--lk-board-line:#f3d48824;--lk-peg:#d4a94e;--lk-felt:radial-gradient(#ffffff0b 1px, transparent 1.4px) 0 0 / 5px 5px, radial-gradient(90% 90% at 50% 40%, oklch(40% .09 158), oklch(23% .06 160) 80%);--lk-display-font:"Playfair Display", Georgia, "Times New Roman", serif;--lk-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", "Fira Code", Menlo, monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-family:var(--font-sans);--lk-ease-out:cubic-bezier(.22, 1, .36, 1);--lk-ease-expo:cubic-bezier(.16, 1, .3, 1);--lk-ease-in:cubic-bezier(.55, 0, .85, .4);--lk-shadow-object:0 24px 50px -20px #000000bf, 0 2px 6px #0006;z-index:60;padding-top:env(safe-area-inset-top,0px);color:var(--lk-text);background:radial-gradient(50% 32% at 50% -6%, #ffd68c52, transparent 70%), radial-gradient(70% 55% at 50% 112%, oklch(32% .08 158/.55), transparent 70%), var(--lk-page);clip-path:circle(0 at var(--lk-ox,90%) var(--lk-oy,10%));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:14px;position:fixed;inset:0;overflow:clip}.lk-room.is-open{clip-path:circle(150vmax at var(--lk-ox) var(--lk-oy));transition:clip-path .9s var(--lk-ease-expo)}.lk-room.is-closing{clip-path:circle(0 at var(--lk-ox) var(--lk-oy));transition:clip-path .55s var(--lk-ease-in)}.lk-room:not(.is-ready) *{animation-play-state:paused!important}.lk-room button{font:inherit;color:inherit;cursor:pointer}.fl-logo{object-fit:contain}:is(.lk-wheel-logo,.lk-seal-logo)>:is(.fl-icon,.fl-logo){width:100%;height:100%;display:block}.fl-icon{vertical-align:baseline;flex:none;width:1em;height:1em;display:inline-block;overflow:visible}.lk-pools,.lk-beams,.lk-drapes,.lk-twinkles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.lk-pools i{opacity:.5;will-change:transform;border-radius:50%;width:60vmax;height:60vmax;animation:18s ease-in-out infinite alternate lk-pool;position:absolute}.lk-pools i:first-child{background:radial-gradient(closest-side,#ffc46e38,#0000);top:10vh;left:-20vmax}.lk-pools i:nth-child(2){background:radial-gradient(closest-side,oklch(40% .15 20/.35),#0000);animation-duration:23s;animation-delay:-8s;top:30vh;right:-22vmax}@keyframes lk-pool{to{transform:translate(14vmax,-8vmax)scale(1.15)}}.lk-chandelier{pointer-events:none;will-change:transform;background:radial-gradient(closest-side,#ffe2a047,#ffc87814 55%,#0000);width:70vw;height:52vh;animation:6s ease-in-out infinite alternate lk-chandelier;position:absolute;top:-14vh;left:50%;translate:-50%}.lk-chandelier i{background-image:radial-gradient(2px 2px at 20% 40%,#fff,#0000),radial-gradient(1.5px 1.5px at 34% 62%,#ffe9b8,#0000),radial-gradient(2px 2px at 47% 30%,#fff,#0000),radial-gradient(1.5px 1.5px at 58% 70%,#ffe9b8,#0000),radial-gradient(2px 2px at 69% 44%,#fff,#0000),radial-gradient(1.5px 1.5px at 81% 58%,#ffe9b8,#0000),radial-gradient(1.5px 1.5px at 40% 82%,#fff,#0000);animation:1.9s ease-in-out infinite lk-twinkle;position:absolute;inset:20% 22% 30%}@keyframes lk-chandelier{to{opacity:.75;transform:scale(1.04)}}.lk-beams i{opacity:0;will-change:transform;transform-origin:50% 0;background:conic-gradient(from 180deg at 50% 0,#0000 168deg,#ffe6b40f 175deg,#fff0d221 180deg,#ffe6b40f 185deg,#0000 192deg);width:46vmax;height:140%;animation:1.2s .2s forwards lk-beam-on,14s ease-in-out .2s infinite alternate lk-beam;position:absolute;top:-20%}.lk-beams i:first-child{left:0;rotate:-16deg}.lk-beams i:nth-child(2){animation-delay:.4s,-6s;right:-4%;rotate:14deg}@keyframes lk-beam-on{to{opacity:1}}@keyframes lk-beam{0%{transform:rotate(-7deg)}to{transform:rotate(9deg)}}.lk-drapes i{z-index:1;will-change:transform;transform-origin:50% 0;background:linear-gradient(#00000059,#0000 20% 70%,#00000073),repeating-linear-gradient(90deg,oklch(20% .08 20) 0,oklch(34% .13 22) 1.1vw,oklch(22% .09 20) 2.2vw);width:6.5vw;min-width:54px;animation:8s ease-in-out infinite alternate lk-drape;position:absolute;top:0;bottom:0}.lk-drapes i:after{content:"";background:repeating-linear-gradient(90deg,#f3d488 0 3px,#8a6420 3px 6px);height:14px;position:absolute;top:0;left:0;right:0;box-shadow:0 4px 10px #00000080}.lk-drapes i:first-child{left:0;-webkit-mask-image:linear-gradient(90deg,#000 60%,#0000);mask-image:linear-gradient(90deg,#000 60%,#0000)}.lk-drapes i:nth-child(2){animation-delay:-4s;right:0;-webkit-mask-image:linear-gradient(270deg,#000 60%,#0000);mask-image:linear-gradient(270deg,#000 60%,#0000)}@keyframes lk-drape{to{transform:skew(.8deg)scaleX(1.03)}}.lk-twinkles i{background-image:radial-gradient(1.5px 1.5px at 12% 22%,#fff,#0000),radial-gradient(1.5px 1.5px at 31% 64%,#ffe9b8,#0000),radial-gradient(2px 2px at 58% 18%,#fff,#0000),radial-gradient(1.5px 1.5px at 77% 41%,#ffe9b8,#0000),radial-gradient(1.5px 1.5px at 88% 78%,#fff,#0000),radial-gradient(1.5px 1.5px at 44% 86%,#ffe9b8,#0000);animation:3.4s ease-in-out infinite lk-twinkle;position:absolute;inset:0}.lk-twinkles i+i{animation-delay:-1.7s;transform:translate(7%,11%)}@keyframes lk-twinkle{0%,to{opacity:.15}50%{opacity:.8}}.lk-lights,.lk-fx,.lk-guilloche{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lk-guilloche{width:120%;height:120%;inset:-10%;-webkit-mask-image:radial-gradient(60% 55% at 50% 42%,#000 10%,#0000 70%);mask-image:radial-gradient(60% 55% at 50% 42%,#000 10%,#0000 70%)}.lk-fx{z-index:90;position:fixed}.lk-theme-sky{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lk-festoon{top:calc(96px + env(safe-area-inset-top,0px));transition:top .7s var(--lk-ease-expo);z-index:2;pointer-events:none;filter:drop-shadow(0 3px 3px #00000080);height:40px;position:absolute;left:0;right:0;overflow:hidden}.lk-festoon svg{display:block}.lk-fes-thread{stroke:#f3d488b3;stroke-width:.8px}.lk-fes-string{fill:none;stroke:#2a1a12;stroke-width:1.4px}.lk-fes-string--web{stroke:#dcd2eb8c;stroke-width:1px}.lk-fes-fir{fill:none;stroke:#1d4a2c;stroke-width:7px;stroke-linecap:round}.lk-fes-needles{fill:none;stroke:#2f6b3f;stroke-width:9px;stroke-dasharray:1.2 2.4}.lk-fes-light{fill:#ffe3a0;animation:lk-fes-light 1.8s ease-in-out calc(var(--i) * -.6s) infinite}.lk-fes-light:nth-of-type(2n){fill:#ff6b5e}@keyframes lk-fes-light{50%{opacity:.25}}.lk-fes-glow{fill:#ffe08a;animation:2.4s steps(2,end) infinite lk-fes-flicker}@keyframes lk-fes-flicker{40%{fill:#ffb347}}.lk-fes-ribbon{fill:none;stroke:#f3d488;stroke-width:2px;stroke-dasharray:6 3}.lk-scene{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.lk-scene-ground{height:80px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.lk-scene-ground svg{display:block}.lk-scene-side{aspect-ratio:220/280;filter:drop-shadow(0 8px 14px #0000008c);height:clamp(150px,30vh,280px);position:absolute;bottom:6px}.lk-scene-side--left{left:max(4px,.6vw)}.lk-scene-side--right{right:max(4px,.6vw)}.lk-scene-sun{top:calc(118px + env(safe-area-inset-top,0px));filter:drop-shadow(0 0 24px #ffc850b3);width:clamp(90px,13vh,140px);position:absolute;right:1.2vw}.lk-scene-rays{animation:40s linear infinite lk-spin}.lk-scene-waves{animation:4s linear infinite lk-scene-waves}@keyframes lk-scene-waves{to{transform:translate(-70px)}}.lk-scene-light{animation:lk-fes-light 1.6s ease-in-out calc(var(--i) * -.55s) infinite}.lk-scene-star{filter:drop-shadow(0 0 6px #ffd86b)}.lk-scene-flicker{filter:drop-shadow(0 0 6px #ffb347);animation:2.2s steps(3,end) infinite lk-scene-flicker}@keyframes lk-scene-flicker{30%{opacity:.75}60%{opacity:1}80%{opacity:.85}}@media (prefers-reduced-motion:reduce){.lk-fes-light,.lk-fes-glow,.lk-scene-rays,.lk-scene-waves,.lk-scene-light,.lk-scene-flicker{animation:none}}.lk-room[data-theme=christmas] .lk-pools i:first-child{background:radial-gradient(closest-side,oklch(45% .1 150/.35),#0000)}.lk-room[data-theme=christmas] .lk-pools i:nth-child(2){background:radial-gradient(closest-side,oklch(45% .17 25/.4),#0000)}.lk-room[data-theme=halloween] .lk-pools i:first-child{background:radial-gradient(closest-side,oklch(60% .17 55/.3),#0000)}.lk-room[data-theme=halloween] .lk-pools i:nth-child(2){background:radial-gradient(closest-side,oklch(40% .17 305/.45),#0000)}.lk-room[data-theme=easter] .lk-pools i:first-child{background:radial-gradient(closest-side,oklch(75% .09 350/.22),#0000)}.lk-room[data-theme=easter] .lk-pools i:nth-child(2){background:radial-gradient(closest-side,oklch(70% .1 150/.22),#0000)}.lk-room[data-theme=august] .lk-pools i:first-child{background:radial-gradient(closest-side,oklch(72% .15 60/.3),#0000)}.lk-room[data-theme=august] .lk-pools i:nth-child(2){background:radial-gradient(closest-side,oklch(60% .1 195/.3),#0000)}.lk-head{z-index:4;height:60px;padding:0 max(20px, env(safe-area-inset-right,0px)) 0 max(20px, env(safe-area-inset-left,0px));border-bottom:1px solid var(--lk-gold-line);background:linear-gradient(#2a140a,#1a0c06);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative;box-shadow:0 1px #0009}.lk-head h2{text-align:center;font:700 18px var(--lk-display-font);color:var(--lk-gold-hi);margin:0}.lk-head h2 small{font:500 12px var(--font-sans,inherit);color:var(--lk-text-muted);margin-top:1px;display:block}.lk-head>.lk-btn{justify-self:start}.lk-head .lk-end{justify-content:flex-end;display:flex}.lk-head .lk-sound{width:36px;height:36px;color:var(--lk-gold);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:20px;transition:color .2s,filter .2s,background-color .2s;display:grid;position:relative}.lk-head .lk-sound .fl-icon{font-size:21px;transition:filter .2s}.lk-head .lk-sound:hover,.lk-head .lk-sound:focus-visible{color:#fff3c4;background:radial-gradient(circle,#ffd36e2e,#0000 70%);outline:none}.lk-head .lk-sound:hover .fl-icon,.lk-head .lk-sound:focus-visible .fl-icon{filter:drop-shadow(0 0 4px #ffe296)drop-shadow(0 0 12px #ffbe50cc)}.lk-head .lk-sound:after{content:attr(data-tip);z-index:10;box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 6px 16px #0000008c;color:var(--lk-gold-hi);white-space:nowrap;pointer-events:none;opacity:0;background:#1e0d06;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .2s,translate .2s;position:absolute;top:calc(100% + 8px);right:0;translate:0 -4px}.lk-head .lk-sound:hover:after,.lk-head .lk-sound:focus-visible:after{opacity:1;translate:0}.lk-ticker{top:calc(60px + env(safe-area-inset-top,0px));z-index:3;border-bottom:1px solid var(--lk-gold-line);background:linear-gradient(#1a0c06,#2a140a 50%,#1a0c06);height:38px;position:absolute;left:0;right:0;overflow:hidden}.lk-ticker:before,.lk-ticker:after{content:"";background:radial-gradient(circle,#fff 0 1.2px,#ffe3a0 2px,#ffc86e59 2.8px,#0000 3.4px) 0/42px 6px repeat-x,radial-gradient(circle,#6b5226 0 1.6px,#0000 2.2px) 0/14px 6px repeat-x;height:6px;animation:.75s steps(3,end) infinite lk-ticker-bulbs;position:absolute;left:0;right:0}.lk-ticker:before{top:1px}.lk-ticker:after{animation-direction:reverse;bottom:1px}@keyframes lk-ticker-bulbs{to{background-position:42px,0}}.lk-ticker-track{will-change:transform;align-items:center;width:max-content;animation:48s linear infinite lk-ticker;display:flex;position:absolute;top:0;bottom:0}.lk-ticker-track>div{align-items:center;display:flex}.lk-ticker span{font:600 13.5px var(--lk-display-font);letter-spacing:.16em;text-transform:uppercase;color:var(--lk-gold-hi);text-shadow:0 0 8px #ffc86e8c;white-space:nowrap}.lk-ticker b{color:var(--lk-gold);margin:0 22px;font-size:10px}@keyframes lk-ticker{to{transform:translate(-50%)}}.lk-view{inset:calc(98px + env(safe-area-inset-top,0px)) 0 0;z-index:2;transition:top .7s var(--lk-ease-expo);position:absolute;overflow:hidden}.lk-ticker{transition:translate .7s var(--lk-ease-expo), opacity .5s ease}.lk-room.is-private .lk-ticker{opacity:0;pointer-events:none;translate:0 -100%}.lk-room.is-private .lk-view{top:calc(60px + env(safe-area-inset-top,0px))}.lk-btn{isolation:isolate;white-space:nowrap;height:32px;transition:background-color .18s ease, box-shadow .18s ease, transform .12s var(--lk-ease-out), filter .18s ease;border:0;border-radius:.6rem;justify-content:center;align-items:center;gap:7px;padding:0 12px 0 10px;font-size:13px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.lk-btn .fl-icon{font-size:16px}.lk-btn:active{transform:translateY(1px)}.lk-btn:focus-visible{outline:2px solid var(--lk-gold);outline-offset:2px}.lk-btn--primary{color:#2a1a05;background:linear-gradient(#f6dd96,#d4a94e 55%,#a77c2c);box-shadow:inset 0 1px #ffffff8c,inset 0 -1px #5a3c0a80,0 8px 20px -8px #e2bd6399}.lk-btn--primary:hover{filter:brightness(1.06)}.lk-btn--primary:after{content:"";z-index:-1;background:linear-gradient(105deg,#0000 35%,#ffffff59 50%,#0000 65%);position:absolute;inset:0;translate:-120%}.lk-btn--primary:not(:disabled):hover:after{transition:translate .8s var(--lk-ease-out);translate:120%}.lk-btn--outline{color:var(--lk-text-hi);box-shadow:inset 0 0 0 1px var(--lk-gold-line);background:#ffffff0a}.lk-btn--outline:hover{background:#e2bd631f}.lk-btn--outline .fl-icon{color:var(--lk-gold)}.lk-btn--lg{border-radius:.75rem;height:44px;padding:0 20px 0 16px;font-size:15px}.lk-btn--lg .fl-icon{font-size:18px}.lk-btn:disabled{cursor:default;filter:grayscale();color:var(--lk-text-dim);background:#1a120c;box-shadow:inset 0 0 0 1px #ffffff14}.lk-bulbs{inset:var(--lk-ring-inset,8px);z-index:3;border-radius:var(--lk-ring-radius,1rem);pointer-events:none;position:absolute}.lk-bulbs:before,.lk-bulbs:after{content:"";border-radius:inherit;border:5px dotted #5a4320;position:absolute;inset:0}.lk-bulbs:after{filter:drop-shadow(0 0 3px #ffc86ef2)drop-shadow(0 0 8px #ffaa3c80);border-color:#ffe3a0;animation:1.2s steps(3,end) infinite lk-bulb-chase;-webkit-mask:repeating-linear-gradient(135deg,#000 0 14px,#0000 14px 42px) 0 0/200% 200%;mask:repeating-linear-gradient(135deg,#000 0 14px,#0000 14px 42px) 0 0/200% 200%}@keyframes lk-bulb-chase{to{-webkit-mask-position:59.4px 0;mask-position:59.4px 0}}@keyframes lk-bulb-flash{50%{opacity:.35;border-color:#fff8e6}}.lk-room.is-celebrating .lk-bulbs:after{animation-duration:.15s}.lk-room.is-jackpot .lk-bulbs:after{animation:.14s step-end infinite lk-bulb-flash;-webkit-mask:none;mask:none}.lk-chips{align-items:center;gap:10px;min-width:0;display:flex}.lk-chips>span{min-width:0;color:var(--lk-gold-hi);text-overflow:ellipsis;white-space:nowrap;margin-left:4px;font-size:13px;font-weight:600;overflow:hidden}.lk-chip{background:radial-gradient(circle, var(--lk-chip) 0 56%, #fbf3df99 57% 59%, transparent 60%), repeating-conic-gradient(from 7deg, #fbf3df 0 16deg, var(--lk-chip) 16deg 45deg);width:40px;height:40px;transition:translate .2s var(--lk-ease-out), box-shadow .2s ease;border:0;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:inset 0 0 0 1px #00000059,0 4px 8px #00000080}.lk-chip img{width:18px}.lk-chip:not(:disabled):hover{translate:0 -2px}.lk-chip.is-chosen{box-shadow:inset 0 0 0 1px #00000059, 0 0 0 2px #1e0d06, 0 0 0 4px var(--lk-gold), 0 0 18px #e2bd638c;translate:0 -3px}.lk-chip:disabled{cursor:default;filter:saturate(.6)}.lk-chip:disabled:not(.is-chosen){opacity:.35}.lk-chips-rack{gap:8px;min-width:0;display:grid}.lk-chip-count{white-space:nowrap;color:var(--lk-text);align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.lk-chip:focus-visible{outline:2px solid var(--lk-gold-hi);outline-offset:4px}.lk-rl-pips{gap:4px;display:flex}.lk-rl-pips i{background:var(--lk-gold);border-radius:50%;width:10px;height:10px;transition:background-color .2s,box-shadow .2s;box-shadow:0 0 6px #e2bd6399}.lk-rl-pips i.is-used{background:#ffffff1a;box-shadow:inset 0 0 0 1px #e2bd6359}.lk-chips-strip{--lk-fade-l:0px;--lk-fade-r:0px;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;max-width:260px;-webkit-mask:linear-gradient(90deg, transparent, #000 var(--lk-fade-l), #000 calc(100% - var(--lk-fade-r)), transparent);mask:linear-gradient(90deg, transparent, #000 var(--lk-fade-l), #000 calc(100% - var(--lk-fade-r)), transparent);gap:10px;margin:-10px;padding:10px;display:flex;overflow-x:auto}.lk-chips-strip::-webkit-scrollbar{display:none}.lk-chips-strip.has-left{--lk-fade-l:34px}.lk-chips-strip.has-right{--lk-fade-r:34px}.lk-chips-strip .lk-chip{scroll-snap-align:center;flex:none}.lk-lobby{max-width:1180px;height:100%;padding:22px max(28px, env(safe-area-inset-right,0px)) 24px max(28px, env(safe-area-inset-left,0px));flex-direction:column;margin:0 auto;display:flex}.lk-grid{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(12,1fr);gap:14px;min-height:0;display:grid}.lk-table{isolation:isolate;text-align:left;box-shadow:inset 0 0 0 1px var(--lk-gold-line), inset 0 0 0 4px #1e0d06, inset 0 0 0 5px #e2bd632e, 0 24px 50px -24px #000000e6;opacity:0;transition:box-shadow .2s ease, transform .2s var(--lk-ease-out);background:linear-gradient(#3a1a0b,#1e0d06);border:0;border-radius:1.35rem;padding:0;display:block;position:relative;overflow:hidden}.lk-room.is-ready .lk-table{animation:lk-table-in .6s var(--lk-ease-expo) forwards;animation-delay:calc(var(--i) * 60ms)}@keyframes lk-table-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.lk-table:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #e2bd63,inset 0 0 0 4px #1e0d06,inset 0 0 0 5px #e2bd6359,0 30px 60px -22px #ffbe5a66}.lk-table:focus-visible{outline:2px solid var(--lk-gold);outline-offset:3px}.lk-table>.lk-bulbs{--lk-ring-inset:3px;--lk-ring-radius:1.2rem}.lk-table>.lk-bulbs:after{opacity:.65;animation-duration:1.8s}.lk-table:hover>.lk-bulbs:after{opacity:1;animation-duration:.36s}.lk-table-body{grid-template-rows:minmax(0,1fr) auto;display:grid;position:absolute;inset:0}.lk-art{background:conic-gradient(from 180deg at 50% -10%, transparent 160deg, #ffecc814 172deg, #ffecc824 180deg, #ffecc814 188deg, transparent 200deg), var(--lk-felt);min-height:0;box-shadow:inset 0 0 0 1px var(--lk-gold-line), inset 0 0 40px #0000008c;border-radius:calc(1.35rem - 6px);place-items:center;margin:6px 6px 0;display:grid;position:relative;overflow:hidden}.lk-boost{z-index:4;pointer-events:none;position:absolute}.lk-table>.lk-boost,.lk-machine>.lk-boost{animation:lk-sash-in .9s var(--lk-ease-expo) .2s both}@keyframes lk-sash-in{0%{opacity:0;translate:110px -110px}40%{opacity:1}to{translate:0}}.lk-table>.lk-boost,.lk-machine>.lk-boost{background:linear-gradient(#fff3c4,#d4a94e 60%,#8a6420) top/100% 4px no-repeat,linear-gradient(#8a6420,#d4a94e 40%,#fff3c4) bottom/100% 4px no-repeat,repeating-linear-gradient(90deg,#0000001f 0 2px,#0000 2px 6px),radial-gradient(120% 140%,#c22a33,#7d1c24 55%,#3a080b);justify-content:center;align-items:center;gap:8px;width:270px;height:48px;display:flex;top:54px;right:-58px;overflow:hidden;rotate:45deg;box-shadow:0 0 0 1px #6b4a14,0 8px 18px #0009,0 0 26px #ffbe5a66}.lk-boost:before{content:"";filter:drop-shadow(0 0 2px #ffc86ef2);background:radial-gradient(circle,#fff8e6 0 1.4px,#ffd889 2px,#0000 3px) 0 0/12px 7px repeat-x,radial-gradient(circle,#fff8e6 0 1.4px,#ffd889 2px,#0000 3px) 6px 100%/12px 7px repeat-x;position:absolute;inset:6px 0}.lk-room.is-ready .lk-boost:before{animation:.5s step-end infinite lk-sash-bulbs}@keyframes lk-sash-bulbs{50%{background-position:6px 0,0 100%}}.lk-boost:after{content:"";background:linear-gradient(105deg,#0000 38%,#fff0c873 50%,#0000 62%);position:absolute;inset:0;translate:-120%}.lk-room.is-ready .lk-boost:after{animation:3.2s ease-in-out 1s infinite lk-sash-shine}@keyframes lk-sash-shine{0%{translate:-120%}45%,to{translate:120%}}.lk-boost small,.lk-boost b{z-index:1;color:#f8e3a6;text-shadow:0 1px #3a080b,0 0 8px #ffc86ebf;position:relative}.lk-boost small{font:italic 600 13px var(--lk-display-font);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.lk-boost small:after{content:"◆";color:var(--lk-gold);font-size:8px}.lk-boost b{font:italic 700 30px/1 var(--lk-display-font);color:#fff1c4}.lk-room.is-ready .lk-boost b{animation:.9s ease-in-out infinite alternate lk-sash-glow}@keyframes lk-sash-glow{to{text-shadow:0 1px #3a080b,0 0 12px #ffd682,0 0 26px #ffaa3ccc}}.lk-meta{grid-template-columns:1fr 16px;align-items:center;gap:12px;min-height:98px;padding:13px 18px 15px;display:grid}.lk-meta b{font:700 19px var(--lk-display-font);color:var(--lk-gold-hi);display:block}.lk-meta small{color:var(--lk-text-muted);margin-top:2px;font-size:13px;display:block}.lk-meta .fl-icon{color:var(--lk-gold);transition:transform .2s var(--lk-ease-out)}.lk-table:hover .lk-meta .fl-icon{transform:translate(2px)}.lk-grid>.lk-table:first-child{grid-area:1/1/span 2/span 6}.lk-grid>.lk-table:nth-child(2){grid-area:1/7/auto/span 3}.lk-grid>.lk-table:nth-child(3){grid-area:1/10/auto/span 3}.lk-grid>.lk-table:nth-child(4){grid-area:2/7/auto/span 3}.lk-grid>.lk-table:nth-child(5){grid-area:2/10/auto/span 3}.lk-mini-wheel{width:auto;height:calc(var(--lk-art-h,250) * .8px);aspect-ratio:1;filter:drop-shadow(0 18px 24px #00000080)}.lk-mini-wheel .lk-lamp{animation:1.8s step-end infinite lk-lamp-idle;animation-delay:calc(var(--i) * -.9s)}.lk-table:hover .lk-mini-wheel .lk-lamp{animation:.7s linear infinite lk-lamp-chase;animation-delay:calc(var(--i) * -.0259s)}.lk-mini-slot{zoom:.4;filter:drop-shadow(0 20px 26px #0000008c);margin-right:46px}.lk-mini-slot .lk-reel ul{transition:filter .4s}@media (height<=720px){.lk-slot,.lk-scratch{zoom:.8}}.lk-table:hover .lk-mini-slot .lk-reel ul{filter:blur(1.4px)}.lk-mini-roulette{width:auto;height:calc(var(--lk-art-h,250) * .8px);aspect-ratio:1;filter:drop-shadow(0 14px 18px #00000080)}.lk-mini-pachinko{height:calc(var(--lk-art-h,250) * .8px);filter:drop-shadow(0 14px 18px #00000073)}.lk-mini-pachinko .lk-ball{animation:2.6s cubic-bezier(.45,0,.9,.6) infinite lk-pachi-fall}.lk-mini-takeoff,.lk-mini-breakaway{height:calc(var(--lk-art-h,250) * .72px);filter:drop-shadow(0 14px 18px #00000080)}.lk-mini-breakaway{height:calc(var(--lk-art-h,250) * .66px);max-width:94%}.lk-mini-trail{filter:drop-shadow(0 0 4px #ffcf5a)}.lk-mini-glint{stroke-dasharray:10 90}.lk-mini-rays{transform-origin:0 190px}.lk-mini-plane{animation:1.6s ease-in-out infinite alternate lk-mini-bob}.lk-mini-nose{filter:drop-shadow(0 0 3px #ff3b3b)}@keyframes lk-mini-bob{to{translate:0 -3px}}.lk-mini-football{filter:drop-shadow(0 0 5px #ffcf5a)}.lk-mini-fan-arms{opacity:0;transition:opacity .2s}.lk-table:hover .lk-mini-fan{animation:lk-mini-cheer .36s ease-in-out var(--d) infinite alternate}.lk-table:hover .lk-mini-fan-arms{opacity:1}@keyframes lk-mini-cheer{to{transform:translateY(-3px)}}.lk-mini-multiplier{font:700 27px var(--lk-display-font);font-variant-numeric:tabular-nums;fill:#f6e2a6}.lk-mini-pachinko .lk-ball--gold{filter:drop-shadow(0 0 5px #ffcf5a)}.lk-mini-pachinko .lk-ball-trail{animation-delay:calc(var(--k) * 32ms)}.lk-mini-storm{place-items:center;display:grid;position:relative}.lk-mini-storm>*,.lk-mini-storm .lk-mini-roulette{grid-area:1/1}.lk-mini-roulette .lk-rl-struck{filter:none}.lk-mini-bolts{z-index:1;width:auto;height:calc(var(--lk-art-h,250) * .8px);aspect-ratio:1;pointer-events:none;position:relative;overflow:visible}.lk-mini-bolts polyline{fill:none;stroke:#fff6d8;stroke-width:3.2px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 3px #ffd36e)drop-shadow(0 0 8px #bfe0ff);opacity:0;animation:lk-mini-strike 2.4s linear var(--d) infinite}@keyframes lk-mini-strike{0%{opacity:0}2%{opacity:1}5%{opacity:.25}8%{opacity:1}24%{opacity:.9}32%,to{opacity:0}}.lk-mini-title{fill:#ffe14d;stroke-width:4px;paint-order:stroke fill;stroke-linejoin:round;font:900 15px Arial Black,Helvetica Neue,Arial,sans-serif}.lk-mini-title--double{stroke:#1d3fa0}.lk-mini-title--forever{stroke:#0f4c9c;font-size:14px}.lk-mini-number{fill:#1d3fa0;font:900 18px Arial Black,Helvetica Neue,Arial,sans-serif}.lk-mini-inf{fill:#0f4c9c;font:900 20px Arial Black,Helvetica Neue,Arial,sans-serif}@keyframes lk-pachi-fall{0%{opacity:0;transform:translate(0)}8%{opacity:1}30%{transform:translate(-12px,52px)}52%{transform:translate(10px,98px)}74%{transform:translate(-6px,146px)}92%{opacity:1;transform:translate(4px,180px)}to{opacity:0;transform:translate(4px,184px)}}.lk-mini-scratch{height:calc(var(--lk-art-h,250) * .8px);filter:drop-shadow(0 14px 18px #00000073);transition:rotate .5s var(--lk-ease-expo);rotate:-6deg}.lk-table:hover .lk-mini-scratch{rotate:-2deg}.lk-mini-scratch .lk-shine{animation:3.6s ease-in-out infinite lk-foil-shine}@keyframes lk-foil-shine{0%,40%{transform:translate(-160px)}to{transform:translate(260px)}}@keyframes lk-spin{to{rotate:360deg}}.lk-stage{max-width:1280px;height:100%;padding:16px max(28px, env(safe-area-inset-right,0px)) 22px max(28px, env(safe-area-inset-left,0px));grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:16px;margin:0 auto;display:grid}.lk-machine{background:var(--lk-felt);box-shadow:inset 0 0 0 1px var(--lk-gold-line), inset 0 0 0 7px #2a140a, inset 0 0 0 8px #e2bd638c, inset 0 0 90px #0000008c, 0 30px 60px -30px #000000e6;border-radius:1.35rem;place-items:center;padding:28px 24px;display:grid;position:relative;overflow:hidden;container-type:size}.lk-machine:before{content:"";pointer-events:none;background:conic-gradient(from 180deg at 50% 0,#0000 158deg,#ffecc80f 170deg,#ffecc81f 180deg,#ffecc80f 190deg,#0000 202deg);width:120%;height:120%;animation:9s ease-in-out infinite alternate lk-spot-sway;position:absolute;top:-10%;left:50%;translate:-50%}@keyframes lk-spot-sway{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}.lk-machine>.lk-backdrop{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(55% 55%,#000 30%,#0000 80%);mask-image:radial-gradient(55% 55%,#000 30%,#0000 80%)}.lk-machine>.lk-bulbs{--lk-ring-inset:14px}.lk-machine[data-state=spinning]>.lk-bulbs:after{animation-duration:.27s}.lk-machine[data-state=won]>.lk-bulbs:after{animation:.22s step-end infinite lk-bulb-flash;-webkit-mask:none;mask:none}.lk-machine>.lk-game{animation:lk-machine-in .8s var(--lk-ease-expo) both;position:relative}@keyframes lk-machine-in{0%{opacity:0;transform:translateY(24px)scale(.97)}}.lk-controls{flex-direction:column;align-items:center;margin-top:30px;display:flex}.lk-hint{color:var(--lk-text-muted);text-align:center;margin-top:8px;font-size:12px}.lk-help{z-index:6;position:absolute;top:26px;left:26px}.lk-help .lk-round:after{content:none}.lk-help .lk-round.is-open{color:#fff3c4;box-shadow:inset 0 0 0 1.5px var(--lk-gold-hi), 0 0 0 3px #e2bd6340, 0 0 22px #ffd36ebf, 0 4px 10px #00000080}.lk-rules{width:min(340px,100cqw - 60px);box-shadow:inset 0 0 0 1px var(--lk-gold-line), inset 0 0 0 4px #1e0d06, inset 0 0 0 5px #e2bd6326, 0 16px 36px #000000a6;animation:lk-rules-in .25s var(--lk-ease-out) both;background:#1e0d06;border-radius:12px;padding:12px 16px 14px;position:absolute;top:calc(100% + 10px);left:0}.lk-rules h4{font:700 17px var(--lk-display-font);color:var(--lk-gold-hi);margin:0 0 6px}.lk-rules p{color:var(--lk-text);text-wrap:pretty;margin:0;font-size:13px;line-height:1.55}@keyframes lk-rules-in{0%{opacity:0;translate:0 -6px}}.lk-room.is-private .lk-machine>.lk-bulbs{display:none}@keyframes lk-lamp-idle{0%{fill:var(--lk-lamp-on)}50%{fill:var(--lk-lamp-off)}}@keyframes lk-lamp-chase{0%,60%{fill:var(--lk-lamp-off)}72%{fill:#fff}86%{fill:var(--lk-lamp-on)}to{fill:var(--lk-lamp-off)}}@keyframes lk-lamp-flash{0%{fill:var(--lk-lamp-on)}50%{fill:var(--lk-lamp-alt)}}@keyframes lk-sym-win{0%{transform:scale(1)}to{transform:scale(1.14)rotate(-4deg)}}@keyframes lk-fade-in{0%{opacity:0}}.lk-win{z-index:80;pointer-events:none;color:#fff;background:radial-gradient(circle,#3c1e0a99,#0c0603e0 70%);place-items:center;animation:.25s both lk-fade-in;display:grid;position:fixed;inset:0;overflow:hidden}.lk-win.is-leaving{animation:.3s forwards lk-fade-out}@keyframes lk-fade-out{to{opacity:0}}.lk-win-flash{background:radial-gradient(circle at 50% 48%,#fff6dcf2,#ffc86e73 35%,#0000 70%);animation:.6s ease-out forwards lk-flash;position:absolute;inset:0}@keyframes lk-flash{0%{opacity:1}to{opacity:0}}.lk-rays{pointer-events:none;width:220vmax;height:220vmax;position:fixed;top:50%;left:50%;translate:-50% -50%;-webkit-mask-image:radial-gradient(circle,#000 0 8%,#00000080 20%,#0000 40%);mask-image:radial-gradient(circle,#000 0 8%,#00000080 20%,#0000 40%)}.lk-rays i{background:repeating-conic-gradient(#f3d4883d 0 6deg, #fff4d61a 6deg 15deg, transparent 15deg 26deg);animation:10s linear infinite lk-spin;position:absolute;inset:0}.lk-rays i+i{background:repeating-conic-gradient(#ffe6aa1f 0 2deg, transparent 2deg 11deg);animation-duration:14s;animation-direction:reverse}.lk-searchlights{pointer-events:none;position:absolute;inset:0}.lk-searchlights i{transform-origin:50% 100%;mix-blend-mode:screen;background:conic-gradient(from -8deg at 50% 100%,#ffecbe52,#ffecbe0d 8deg,#0000 9deg 351deg,#ffecbe0d 352deg);width:70vmax;height:140vmax;animation:1.6s ease-in-out infinite alternate lk-sweep;position:absolute;bottom:-10%;translate:-50%}.lk-searchlights i:first-child{animation-delay:-.4s;left:10%}.lk-searchlights i:nth-child(2){animation-duration:1.2s;left:50%}.lk-searchlights i:nth-child(3){animation-direction:alternate-reverse;animation-delay:-1s;left:90%}@keyframes lk-sweep{0%{transform:rotate(-38deg)}to{transform:rotate(38deg)}}.lk-win.is-jackpot{animation:.25s both lk-fade-in,.45s ease-in-out .3s 6 alternate lk-jackpot-pulse}@keyframes lk-jackpot-pulse{to{background-color:#78460a59}}.lk-win-text{text-align:center;position:relative}.lk-win-text h2{font:italic 700 clamp(60px, 9vw, 96px) var(--lk-display-font);white-space:nowrap;color:#fbe7b0;text-shadow:0 2px #6b4a14,0 0 24px #ffc86eb3,0 0 60px #ffaa3c73;margin:0;line-height:1}.lk-win-text h2 span{animation:.7s cubic-bezier(.2,.9,.3,1.25) both lk-word-in;animation-delay:calc(var(--i) * 35ms);display:inline-block}.lk-win.is-jackpot h2{animation:.5s ease-in-out 1.1s infinite alternate lk-jackpot-glow}.lk-win.is-jackpot h2 span{animation:.36s cubic-bezier(.3,1.3,.5,1) both lk-letter-drop;animation-delay:calc(.26s + var(--i) * .11s)}@keyframes lk-word-in{0%{opacity:0;filter:blur(6px);transform:translateY(30px)scale(.6)}}@keyframes lk-letter-drop{0%{opacity:0;transform:translateY(-70vh)rotate(-12deg)}}@keyframes lk-jackpot-glow{to{text-shadow:0 2px #6b4a14,0 0 34px #ffd682f2,0 0 90px #ffaa3cb3}}.lk-win-text p{color:#f0dfb4;opacity:0;animation:lk-rise .5s var(--lk-ease-expo) .35s forwards;margin:14px 0 0;font-size:17px;font-weight:600}.lk-win.is-jackpot .lk-win-text p{animation-delay:1.2s}.lk-win-text:after{content:"";width:0;height:4px;animation:lk-underline .8s var(--lk-ease-expo) .3s forwards;background:linear-gradient(90deg,#0000,#f3d488,#0000);border-radius:4px;margin:18px auto 0;display:block;box-shadow:0 0 18px #ffc86ecc}.lk-win.is-jackpot .lk-win-text:after{animation-delay:1.1s}@keyframes lk-underline{to{width:240px}}@keyframes lk-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.lk-room.is-celebrating:after{content:"";z-index:4;pointer-events:none;animation:.5s ease-in-out 4 alternate lk-edge-glow;position:absolute;inset:0;box-shadow:inset 0 0 120px #ffc86e8c}@keyframes lk-edge-glow{0%{opacity:.2}to{opacity:1}}.lk-room.is-jackpot .lk-chandelier{opacity:1;animation:.35s ease-in-out infinite alternate lk-chandelier-blaze}@keyframes lk-chandelier-blaze{0%{filter:brightness(1.4);transform:scale(1.1)}to{filter:brightness(2);transform:scale(1.22)}}.lk-room.is-jackpot .lk-ticker:before,.lk-room.is-jackpot .lk-ticker:after{animation-duration:.12s}.lk-cert-layer{z-index:70;padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(8px)saturate(1.2);backdrop-filter:blur(8px)saturate(1.2);background:#0e07039e;place-items:safe center center;animation:.35s both lk-fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.lk-cert{--lk-paper:#f7efdc;--lk-paper-raised:#fbf6ea;--lk-ink-hi:#2a1a0a;--lk-ink:#3d2b14;--lk-ink-muted:#6e5a3a;--lk-ink-dim:#857050;--lk-rule:#8a642029;--lk-edge:#8a642066;width:min(600px,100%);color:var(--lk-ink);background:linear-gradient(#faf3e3,#efe3c6);border-radius:1.35rem;padding:26px 28px 24px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #8a642059,inset 0 0 0 7px #faf3e3,inset 0 0 0 8px #8a642073,0 40px 90px -30px #000000d9;-webkit-mask:radial-gradient(6px at 11px 0,#0000 6px,#000 6.5px) 0 0/22px 14px repeat-x,linear-gradient(#000 0 0) 0 14px/100% calc(100% - 14px) no-repeat;mask:radial-gradient(6px at 11px 0,#0000 6px,#000 6.5px) 0 0/22px 14px repeat-x,linear-gradient(#000 0 0) 0 14px/100% calc(100% - 14px) no-repeat}.lk-cert.is-printing{animation:lk-cert-print 1.5s var(--lk-ease-expo) both}@keyframes lk-cert-print{0%{clip-path:inset(0 0 100%);transform:translateY(-40px)scale(.92)}55%{clip-path:inset(0);transform:translateY(0)scale(.98)}to{clip-path:inset(0);transform:none}}.lk-gift-box,.lk-gift-lid{z-index:2;pointer-events:none;position:absolute;left:50%}.lk-gift-box{transform-origin:50% 100%;background:linear-gradient(90deg,#0000 105px,#f3d488 105px 135px,#0000 135px),linear-gradient(#d63040,#9e1b22);border-radius:6px;width:240px;height:150px;margin-left:-120px;bottom:9vh;box-shadow:inset 0 -14px 24px #00000040,0 30px 50px -20px #000c}.lk-gift-lid{z-index:3;transform-origin:50% calc(100% + 142px);background:linear-gradient(90deg,#0000 115px,#f3d488 115px 149px,#0000 149px),linear-gradient(#e8424f,#b32432);border-radius:6px;width:264px;height:40px;margin-left:-132px;bottom:calc(9vh + 142px);box-shadow:0 8px 14px -6px #0009}.lk-gift-lid:before,.lk-gift-lid:after{content:"";border:8px solid #f3d488;border-radius:50%/60% 60% 40% 40%;width:52px;height:34px;margin-bottom:-6px;position:absolute;bottom:100%;left:50%}.lk-gift-lid:before{margin-left:-54px;rotate:-18deg}.lk-gift-lid:after{margin-left:2px;rotate:18deg}:is(.lk-gift-box,.lk-gift-lid).is-wrapped{animation:lk-gift-drop .6s var(--lk-ease-out) both, lk-gift-wiggle .9s .7s ease-in-out infinite}.lk-gift-lid.is-open{animation:lk-gift-lid .8s var(--lk-ease-out) forwards}.lk-gift-box.is-open{animation:lk-gift-away .6s 1.1s var(--lk-ease-in) forwards}@keyframes lk-gift-drop{0%{translate:0 -70vh}70%{translate:0 8px}}@keyframes lk-gift-wiggle{0%,to{rotate:0deg}20%{rotate:-4deg}40%{rotate:3deg}60%{rotate:-2deg}80%{rotate:1deg}}@keyframes lk-gift-lid{to{opacity:0;translate:-90px -46vh;rotate:-40deg}}@keyframes lk-gift-away{to{opacity:0;translate:0 40vh}}.lk-cert.is-rising{z-index:1;animation:1.4s ease-in-out both lk-cert-rise}@keyframes lk-cert-rise{0%{opacity:0;transform:translateY(calc(41vh - 120px))scale(.16)}10%{opacity:1}35%{transform:translateY(calc(41vh - 250px))scale(.3)}70%{transform:translateY(-4vh)scale(.96)}to{transform:none}}.lk-cert.is-stamped{animation:.38s linear lk-cert-hit}@keyframes lk-cert-hit{20%{transform:translate(-3px,2px)rotate(-.4deg)}45%{transform:translate(3px,-1px)rotate(.3deg)}70%{transform:translate(-1px,1px)}}.lk-cert>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lk-cert-head{align-items:center;gap:8px;display:flex;position:relative}.lk-cert-head img{width:20px}.lk-cert-head .lk-cert-logo{width:20px;height:20px;color:var(--lk-gold-lo)}.lk-badge{height:24px;color:var(--lk-ink);background:#efe3c6;border-radius:7px;align-items:center;gap:6px;padding:0 9px 0 7px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1px #8a642040}.lk-badge .fl-icon{font-size:13px}.lk-badge.is-success{color:#6b4a14;animation:lk-value-set .6s var(--lk-ease-expo);background:#e2bd6333;box-shadow:inset 0 0 0 1px #8a642073}.lk-badge--from{color:var(--lk-ink-muted);margin-left:auto}.lk-cert-product{align-items:center;gap:14px;margin:18px 0 4px;padding-right:100px;display:flex;position:relative}.lk-cert-product img{filter:drop-shadow(0 6px 10px #141e3233);width:48px;height:48px}.lk-cert-product h2{font:700 26px var(--lk-display-font);color:var(--lk-ink-hi);margin:0}.lk-cert-product p{color:var(--lk-ink-muted);margin:2px 0 0}.lk-jackpot-tag{vertical-align:5px;color:#2a1a05;font:700 11px var(--font-sans,inherit);letter-spacing:.02em;background:linear-gradient(90deg,#8a6420,#e2bd63,#8a6420);border-radius:6px;margin-left:8px;padding:2px 8px;display:inline-block}.lk-info{background:var(--lk-paper-raised);border-radius:.5rem;margin-top:16px;position:relative;box-shadow:inset 0 0 0 1px #8a642040}.lk-info-row{border-top:1px solid var(--lk-rule);opacity:0;grid-template-columns:140px 1fr;align-items:baseline;gap:12px;padding:10px 14px;display:grid;transform:translateY(6px)}.lk-info-row:first-child{border-top:0}.lk-cert.is-revealed .lk-info-row{animation:lk-rise .5s var(--lk-ease-expo) forwards;animation-delay:calc(80ms + var(--i) * 70ms)}.lk-info-row span{color:var(--lk-ink-muted);font-size:12.5px}.lk-info-row b{min-width:0;color:var(--lk-ink-hi);overflow-wrap:anywhere;font-weight:500}.lk-info-row b.is-identifier{font:500 12.5px var(--lk-mono);letter-spacing:-.01em}.lk-info-row b.is-pending{color:var(--lk-ink-dim);font-style:italic;font-weight:400}.lk-info-row b.is-forever{color:#6b4a14;font-weight:600}.lk-seal{opacity:0;width:92px;height:92px;position:absolute;top:56px;right:24px}.lk-cert.is-stamped .lk-seal,.lk-cert.is-issued .lk-seal{animation:lk-seal-in .5s var(--lk-ease-expo) forwards}@keyframes lk-seal-in{0%{opacity:0;transform:scale(2.6)rotate(-30deg)}to{opacity:1;transform:rotate(-12deg)}}.lk-seal-holo{background:conic-gradient(#8a6420,#f6e2a6,#c79a3e,#fff3c4,#8a6420,#e2bd63,#8a6420);border-radius:50%;animation:6s linear infinite lk-spin;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 56%,#000 57%);mask:radial-gradient(circle,#0000 56%,#000 57%)}.lk-cert.is-issued .lk-seal-holo{background:conic-gradient(#6b1520,#b23a46,#6b1520,#d4a94e,#6b1520)}.lk-seal svg{width:100%;height:100%;position:absolute;inset:0}.lk-seal-logo{color:var(--lk-gold-lo)}.lk-seal-ring{opacity:0;border:2px solid #b08a3a;border-radius:50%;position:absolute;inset:-10px}.lk-cert.is-stamped .lk-seal-ring{animation:lk-ring .7s var(--lk-ease-out) 80ms}@keyframes lk-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.lk-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex;position:relative}.lk-cert .lk-btn--outline{color:var(--lk-ink-hi);background:#ffffff80;box-shadow:inset 0 0 0 1px #8a642073}.lk-cert .lk-btn--outline:hover{background:#fffc}.lk-cert .lk-btn--outline .fl-icon{color:#8a6420}.lk-cert .lk-btn:disabled{color:var(--lk-ink-dim);background:#e8dcc0}.lk-note{color:var(--lk-ink-muted);gap:8px;margin:14px 0 0;font-size:12.5px;display:flex;position:relative}.lk-spinning{animation:.9s linear infinite lk-spin}@media (prefers-reduced-motion:reduce){.lk-room *,.lk-room :before,.lk-room :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.lk-room.is-open,.lk-room.is-closing{transition:none}}@keyframes lk-peg-rays{to{rotate:360deg}}.lk-lobby{position:relative}.lk-pages{flex:1;min-height:0;position:relative}.lk-page{transform:translateY(calc((var(--index) - var(--page)) * (100% + 160px))) scale(var(--lk-depth,1));transition:transform .9s var(--lk-ease-expo), opacity .7s ease;flex-direction:column;display:flex;position:absolute;inset:0}.lk-page:not(.is-current){--lk-depth:.94;opacity:.2}.lk-pager{top:50%;right:max(6px, env(safe-area-inset-right,0px));z-index:5;gap:10px;display:grid;position:absolute;translate:0 -50%}.lk-pager button{border:1px solid var(--lk-gold);width:10px;height:10px;transition:height .4s var(--lk-ease-out), background-color .3s ease, box-shadow .3s ease;background:0 0;border-radius:999px;padding:0;position:relative}.lk-pager button:hover,.lk-pager button:focus-visible{outline:none;box-shadow:0 0 0 3px #e2bd6340,0 0 12px #ffd36e99}.lk-pager button.is-current{background:var(--lk-gold);height:26px;box-shadow:0 0 10px #ffd36e99}.lk-pager button:after{content:attr(data-tip);box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 6px 16px #0000008c;color:var(--lk-gold-hi);white-space:nowrap;pointer-events:none;opacity:0;background:#1e0d06;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .2s,translate .2s;position:absolute;top:50%;right:calc(100% + 10px);translate:4px -50%}.lk-pager button:hover:after,.lk-pager button:focus-visible:after{opacity:1;translate:0 -50%}.lk-veil{z-index:1;pointer-events:none;opacity:0;background:radial-gradient(70% 60% at 50% 45%,#28081859,#080306e0 75%),linear-gradient(#14040c80,#0000 30%,#0a030699);transition:opacity 1s;position:absolute;inset:0}.lk-room.is-private .lk-veil{opacity:1}.lk-chandelier,.lk-beams,.lk-lights,.lk-twinkles,.lk-drapes{transition:filter 1s,opacity 1s}.lk-room.is-private :is(.lk-chandelier,.lk-beams,.lk-twinkles){filter:brightness(.3)saturate(.7)}.lk-room.is-private .lk-lights{opacity:.3}.lk-room.is-private .lk-drapes{filter:brightness(.5)saturate(.85)}.lk-room.is-private .lk-festoon{top:calc(58px + env(safe-area-inset-top,0px))}.lk-room.is-private .lk-stage{--lk-felt:radial-gradient(#ffffff08 1px, transparent 1.4px) 0 0 / 5px 5px, radial-gradient(90% 90% at 50% 30%, #2a141c, #0c0608 80%)}.lk-page--private{gap:14px}.lk-private-head{justify-items:center;gap:4px;padding:4px 0 2px;display:grid;position:relative}.lk-private-head h3{z-index:1;font:italic 700 24px var(--lk-display-font);letter-spacing:.06em;color:#f6dfa8;text-shadow:0 0 16px #ffbe6e59;background:linear-gradient(#1c1310,#0a0605);border-radius:8px;margin:0;padding:6px 26px 7px;position:relative;box-shadow:inset 0 0 0 1px #c9a04a,inset 0 0 0 4px #0a0605,inset 0 0 0 5px #c9a04a73,0 10px 24px #0009}.lk-private-head small{z-index:1;color:var(--lk-text-muted);letter-spacing:.32em;text-transform:uppercase;font-size:11px;position:relative}.lk-rope{pointer-events:none;height:34px;position:absolute;top:4px;left:2%;right:2%}.lk-rope:before,.lk-rope:after{content:"";filter:drop-shadow(0 3px 3px #0009);background:0 0;border-bottom:7px solid #8e1424;border-radius:0 0 50% 50%/0 0 100% 100%;width:44%;height:22px;position:absolute;top:10px}.lk-rope:before{left:6px}.lk-rope:after{right:6px}.lk-rope b{background:linear-gradient(90deg,#8a6420,#f6dd96 45%,#a77c2c);border-radius:3px 3px 2px 2px;width:10px;height:40px;position:absolute;top:0;box-shadow:0 6px 10px #00000080}.lk-rope b:before{content:"";background:radial-gradient(circle at 35% 30%,#fff3c4,#d4a94e 55%,#8a6420);border-radius:50%;width:14px;height:14px;position:absolute;top:-7px;left:50%;translate:-50%}.lk-rope b:first-child{left:0}.lk-rope b:last-child{right:0}.lk-grid.lk-grid--private{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr 1fr;gap:18px}.lk-grid--private.lk-grid>.lk-table:nth-child(n){grid-area:auto}.lk-table--private{background:linear-gradient(#17100c,#070504);box-shadow:inset 0 0 0 1px #c9a04a,inset 0 0 0 5px #070504,inset 0 0 0 6px #c9a04a59,0 30px 60px -24px #000000f2}.lk-table--private:hover{box-shadow:inset 0 0 0 1px #f6dd96,inset 0 0 0 5px #070504,inset 0 0 0 6px #c9a04a8c,0 30px 70px -20px #ffbe5a4d}.lk-table--private .lk-art{background:radial-gradient(50% 60% at 50% 0,#ffdeaa2e,#0000 70%),radial-gradient(90% 90% at 50% 40%,#2a141c,#0c0608 80%);transition:background .4s}.lk-table--private:hover .lk-art{background:radial-gradient(55% 70% at 50% 0,#ffdeaa47,#0000 72%),radial-gradient(90% 90% at 50% 40%,#2e1720,#0c0608 80%)}.lk-table--private .lk-meta b{color:#f6dfa8}.lk-mini-cards{aspect-ratio:9/5;--lk-card-w:13cqw;background:radial-gradient(60% 70% at 50% 25%,#ffe1aa1f,#0000 70%),radial-gradient(120% 100% at 50% 0,#1d4636,#0a1d16 75%);border-radius:0 0 50% 50%/0 0 100% 100%;align-content:start;justify-items:center;gap:5%;width:92%;padding-top:4%;display:grid;position:relative;box-shadow:0 0 0 2px #c9a04a,0 0 0 10px #2a120c,0 0 0 11px #8a6420,0 24px 40px -12px #000000d9;container-type:inline-size}.lk-table--holdem .lk-mini-cards{--lk-card-w:10cqw;gap:3%}.lk-mini-hand{display:flex}.lk-mini-hand .lk-card{animation:none}.lk-mini-hand .lk-card+.lk-card{margin-left:calc(var(--lk-card-w) * -.42);transition:margin-left .4s var(--lk-ease-out)}.lk-table:hover .lk-mini-hand .lk-card+.lk-card{margin-left:calc(var(--lk-card-w) * -.12)}.lk-mini-hand.is-board .lk-card+.lk-card,.lk-table:hover .lk-mini-hand.is-board .lk-card+.lk-card{margin-left:calc(var(--lk-card-w) * .1)}`})),sn,cn=n((()=>{sn=`.lk-roulette{grid-template-rows:minmax(0,1fr) auto auto auto;justify-items:center;gap:12px;width:min(880px,100cqw - 16px);height:calc(100cqh - 8px);display:grid}.lk-rl-board{aspect-ratio:1;height:100%;position:relative;container-type:inline-size}.lk-track{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;overflow:visible}.lk-track-cell text{font:700 11px var(--font-sans,inherit);fill:#fbf3df;text-anchor:middle;dominant-baseline:central;pointer-events:none}.lk-track-cell path{transition:filter .2s}.lk-track-cell.is-lit path{filter:brightness(1.7)drop-shadow(0 0 4px #ffe3a0);stroke:#ffe3a0;stroke-width:1.6px}.lk-track-cell.is-result path{stroke:#fff8e6;stroke-width:2px;filter:drop-shadow(0 0 6px #ffe3a0)}.lk-track-sector{cursor:pointer;outline:none}.lk-track-sector path{fill:#120a0559;stroke:#e2bd638c;stroke-width:1px;transition:fill .2s}.lk-track-sector:hover path,.lk-track-sector:focus-visible path{fill:#e2bd6329;stroke:#ffe3a0}.lk-track-sector:focus-visible path{stroke-width:2px}.lk-track-name{font:italic 700 14px var(--lk-display-font);fill:var(--lk-gold-hi);text-anchor:middle;dominant-baseline:central;pointer-events:none}.lk-track-cost{font:600 9.5px var(--font-sans,inherit);fill:var(--lk-text-muted);text-anchor:middle;dominant-baseline:central;pointer-events:none}.lk-track-sector.is-off{cursor:default}.lk-track-sector.is-off text{opacity:.45}.lk-track.is-locked .lk-track-sector{pointer-events:none}.lk-rl-board svg:not(.fl-icon){filter:drop-shadow(0 22px 28px #000000a6);width:100%;height:100%;display:block}.lk-rl-result{z-index:2;aspect-ratio:1;opacity:0;pointer-events:none;border-radius:50%;align-content:center;place-items:center;width:30%;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%;scale:.6}.lk-rl-result.is-on{opacity:1;transition:opacity .4s ease, scale .6s var(--lk-ease-expo);scale:1}.lk-rl-result b{font-variant-numeric:tabular-nums;color:#fff;font-size:13cqw;font-weight:700;line-height:1}.lk-rl-felt{aspect-ratio:834/284;place-items:center;width:min(80%,93.9718cqh);display:grid;position:relative}.lk-surface-enter-active,.lk-surface-leave-active{transition:opacity .2s ease, translate .25s var(--lk-ease-out)}.lk-surface-enter-from{opacity:0;translate:0 8px}.lk-surface-leave-to{opacity:0;translate:0 -8px}.lk-rl-switch{box-shadow:inset 0 0 0 1px var(--lk-gold-line);background:#120a058c;border-radius:.75rem;padding:3px;display:inline-flex}.lk-rl-switch button{height:28px;color:var(--lk-text-muted);background:0 0;border:0;border-radius:.55rem;align-items:center;gap:7px;padding:0 12px 0 10px;font-size:13px;font-weight:600;transition:background-color .18s,color .18s,box-shadow .18s;display:inline-flex}.lk-rl-switch button .fl-icon{font-size:15px}.lk-rl-switch button:hover{color:var(--lk-text-hi)}.lk-rl-switch button.is-on{color:#2a1a05;background:linear-gradient(#f6dd96,#d4a94e 55%,#a77c2c);box-shadow:inset 0 1px #ffffff8c,0 4px 10px -4px #e2bd6399}.lk-rl-switch button:focus-visible{outline:2px solid var(--lk-gold-hi);outline-offset:2px}.lk-rt{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;overflow:visible}.lk-rt-num{font:700 22px var(--lk-display-font);fill:#fbf3df;text-anchor:middle;dominant-baseline:central}.lk-rt-word{font:italic 600 17px var(--lk-display-font);fill:var(--lk-gold-hi);text-anchor:middle;dominant-baseline:central}.lk-rt-print{transition:opacity .3s}.lk-rt.is-locked .lk-rt-print{opacity:.7}.lk-rt-lit,.lk-rt-chips,.lk-rt-dolly{pointer-events:none}.lk-rt-lit>*{fill:#ffecbe42;stroke:#ffe3a0;stroke-width:2px;filter:drop-shadow(0 0 6px #ffc86ed9)}.lk-rt-hits rect{fill:#0000;cursor:pointer;outline:none}.lk-rt-hits rect:focus-visible{stroke:var(--lk-gold-hi);stroke-width:2.5px}.lk-rt.is-locked .lk-rt-hits{pointer-events:none}.lk-rt-chip{transform-box:fill-box;transform-origin:50%;animation:lk-chip-drop .38s var(--lk-ease-expo) both}@keyframes lk-chip-drop{0%{opacity:0;translate:0 -16px;scale:1.3}}.lk-rt-stack{transition:opacity .4s}.lk-rt-stack.is-lost{opacity:.4}.lk-rt-stack.is-winning{animation:.5s ease-in-out infinite alternate lk-chip-win}@keyframes lk-chip-win{to{filter:drop-shadow(0 0 8px #ffe3a0)drop-shadow(0 0 16px #ffaa3ccc)}}.lk-rt-dolly{animation:lk-dolly-drop .6s var(--lk-ease-expo) both}@keyframes lk-dolly-drop{0%{opacity:0;translate:0 -30px}}.lk-rl-call{z-index:2;pointer-events:none;background:radial-gradient(closest-side,#120a05d1,#120a0573 75%,#0000);border-radius:1rem;place-items:center;margin:0;display:grid;position:absolute;inset:-6px -12px}.lk-rl-call span{font:italic 700 clamp(28px, 5.4cqw, 50px) var(--lk-display-font);color:#f8e3a6;text-shadow:0 1px #6b4a14,0 0 18px #ffc86e99,0 0 40px #ffaa3c59;white-space:nowrap;align-items:center;gap:22px;display:flex}.lk-rl-call span:before,.lk-rl-call span:after{content:"";background:linear-gradient(90deg, transparent, var(--lk-gold));width:clamp(30px,8cqw,90px);height:1px}.lk-rl-call span:after{background:linear-gradient(270deg, transparent, var(--lk-gold))}.lk-call-enter-active{transition:opacity .45s ease, filter .6s ease, letter-spacing .9s var(--lk-ease-expo)}.lk-call-leave-active{transition:opacity .3s,filter .3s}.lk-call-enter-from{opacity:0;filter:blur(8px);letter-spacing:.25em}.lk-call-leave-to{opacity:0;filter:blur(4px)}.lk-rl-rack{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;display:grid}.lk-rl-rack>.lk-rl-actions{justify-self:end}.lk-rl-actions{align-items:center;gap:10px;display:flex;position:relative}.lk-rl-quick{flex-direction:column;gap:8px;display:flex;position:absolute;bottom:calc(100% + 12px);right:0}.lk-round{width:36px;height:36px;box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 4px 10px #00000080;color:var(--lk-gold);transition:box-shadow .2s ease, color .2s ease, translate .2s var(--lk-ease-out);background:radial-gradient(circle at 35% 30%,#4a2410,#1e0d06 70%);border:0;border-radius:50%;place-items:center;padding:0;font-size:17px;display:grid;position:relative}.lk-round:not(:disabled):hover,.lk-round:focus-visible{color:#fff3c4;box-shadow:inset 0 0 0 1.5px var(--lk-gold-hi), 0 0 0 3px #e2bd6340, 0 0 22px #ffd36ebf, 0 4px 10px #00000080;outline:none;translate:0 -2px}.lk-round:disabled{opacity:.4;cursor:default}.lk-round:after{content:attr(data-tip);box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 6px 16px #0000008c;color:var(--lk-gold-hi);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease, translate .15s var(--lk-ease-out);background:#1e0d06;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;position:absolute;top:50%;right:calc(100% + 10px);translate:4px -50%}.lk-round:not(:disabled):hover:after,.lk-round:focus-visible:after{opacity:1;translate:0 -50%}.lk-roulette{position:relative}.lk-rl-dark{z-index:3;opacity:0;pointer-events:none;background:#060814;position:absolute;inset:-100vmax}.lk-rl-sky{z-index:3;pointer-events:none;width:calc(100% + 24px);height:calc(100% + 24px);position:absolute;inset:-12px}.lk-rl-bolts{z-index:4;width:clamp(96px,34cqw,124px);box-shadow:inset 0 0 0 1px var(--lk-gold-line), inset 0 0 0 5px #0b0805, inset 0 0 0 6px #e2bd6340, 0 18px 30px -12px #000c, 0 0 26px -8px #ffd36e73;background:linear-gradient(#1a130b,#0b0805);border-radius:1rem;flex-direction:column;align-items:center;gap:clamp(18px,6.4cqw,24px);padding:clamp(12px,4.4cqw,18px) 10px clamp(16px,5cqw,20px);display:flex;position:absolute;top:50%;right:calc(100% + 16cqw);translate:0 -50%}.lk-rl-bolts-title{font:italic 700 clamp(13px, 4.4cqw, 16px) var(--lk-display-font);color:var(--lk-gold-hi);align-items:center;gap:4px;display:inline-flex}.lk-rl-bolts-title .fl-icon{color:#ffd36e;filter:drop-shadow(0 0 4px #ffd36e)}.lk-rl-bolts p{color:var(--lk-text-muted);text-align:center;text-wrap:balance;margin:0;font-size:11.5px;font-weight:600;line-height:1.35}.lk-rl-medallion{background:radial-gradient(circle at 35% 30%,#2a2016,#0b0805 70%);border-radius:50%;place-items:center;width:clamp(40px,17cqw,60px);height:clamp(40px,17cqw,60px);display:grid;position:relative;overflow:visible;box-shadow:0 0 0 2px #0b0805,0 0 0 4px #b8892f,inset 0 0 0 1px #fff3c440,inset 0 6px 14px #000000b3}.lk-rl-medallion>.fl-icon{color:#e2bd6359;font-size:22px}.lk-rl-medallion b{font:700 clamp(17px, 6.8cqw, 24px) var(--lk-display-font);font-variant-numeric:tabular-nums;color:#fff;background:radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--lk-bolt-number) 70%, white), var(--lk-bolt-number) 65%);border-radius:50%;place-items:center;display:grid;position:absolute;inset:0}.lk-rl-medallion.is-rolling b{filter:blur(.4px)}.lk-rl-medallion.is-struck{animation:lk-bolt-in .5s var(--lk-ease-expo) both;box-shadow:0 0 0 2px #0b0805,0 0 0 4px #f6dd96,0 0 22px #ffd36e}.lk-rl-medallion.is-result{animation:lk-bolt-in .5s var(--lk-ease-expo) both, lk-bolt-win .6s ease-in-out infinite alternate}.lk-rl-medallion small{font:800 11px var(--font-sans,inherit);color:#2a1a05;background:linear-gradient(#fff3c4,#d4a94e 55%,#a77c2c);border-radius:999px;padding:1px 7px;animation:.5s cubic-bezier(.2,.9,.3,1.4) .15s both lk-badge-pop;position:absolute;bottom:-10px;box-shadow:0 0 8px #ffd36ecc}.lk-roll-enter-active,.lk-roll-leave-active{transition:translate 70ms linear,opacity 70ms linear}.lk-roll-enter-from{opacity:0;translate:0 -55%}.lk-roll-leave-to{opacity:0;translate:0 55%}.lk-rl-medallion:not(.is-rolling) .lk-roll-enter-active{transition:translate .35s var(--lk-ease-expo), opacity .2s ease}@keyframes lk-bolt-in{0%{filter:brightness(2.6);scale:1.35}}@keyframes lk-badge-pop{0%{opacity:0;scale:0}}@keyframes lk-bolt-win{to{box-shadow:0 0 0 2px #0b0805,0 0 0 4px #fff4d6,0 0 26px #ffd36e,0 0 44px #ffe9a8}}.lk-rt-struck{pointer-events:none}.lk-rt-bolt>path,.lk-rt-bolt>rect{fill:none;stroke:#f6dd96;stroke-width:3px;filter:drop-shadow(0 0 6px #ffd36e)drop-shadow(0 0 14px #ffbe50b3);animation:lk-struck-in .7s var(--lk-ease-expo) both, lk-struck 1.6s .7s ease-in-out infinite alternate}.lk-rt-bolt>g{transform-box:fill-box;transform-origin:50%;animation:lk-badge-in .5s .15s var(--lk-ease-expo) both}.lk-rt-bolt>g rect{stroke:#3a2a10;stroke-width:1px;filter:drop-shadow(0 0 6px #ffd36ee6)}.lk-rt-bolt>g text{font:800 12px var(--font-sans,inherit);fill:#2a1a05;text-anchor:middle;dominant-baseline:central}@keyframes lk-struck-in{0%{fill:#fffffff2;stroke:#fff;stroke-width:8px}to{fill:#fff0}}@keyframes lk-struck{to{stroke:#fff4d6;filter:drop-shadow(0 0 8px #ffe9a8)drop-shadow(0 0 22px #ffbe50e6)}}@keyframes lk-badge-in{0%{opacity:0;scale:.2}}.lk-track-cell.is-struck path{stroke:#f6dd96;stroke-width:2.4px;filter:brightness(1.35)drop-shadow(0 0 6px #ffd36e);animation:1.6s ease-in-out infinite alternate lk-struck}.lk-rl-struck{fill-opacity:.45;filter:drop-shadow(0 0 6px #ffd36e);animation:1.2s ease-in-out infinite alternate lk-pocket-struck}@keyframes lk-pocket-struck{to{fill-opacity:.75}}.lk-rl-result small{font:800 3.6cqw var(--font-sans,inherit);color:#ffe9a8;text-shadow:0 0 8px #ffd36e;align-items:center;gap:2px;margin-top:2px;display:flex}.lk-rl-result.is-struck{animation:.7s ease-in-out infinite alternate lk-result-struck}@keyframes lk-result-struck{0%{box-shadow:0 0 0 4px #f6dd96,0 0 30px #ffd36e}to{box-shadow:0 0 0 5px #fff4d6,0 0 60px #ffd36e,0 0 110px #ffe9a899}}.lk-roulette--storm .lk-rl-board svg:not(.fl-icon){animation:7s linear infinite lk-rl-charge}@keyframes lk-rl-charge{0%,90%,93.5%,to{filter:drop-shadow(0 22px 28px #000000a6)}91%,94.5%{filter:drop-shadow(0 22px 28px #000000a6)drop-shadow(0 0 14px #ffd66ed9)brightness(1.15)}}@media (prefers-reduced-motion:reduce){.lk-rl-medallion.is-struck,.lk-rl-medallion.is-result,.lk-rl-medallion small,.lk-rt-bolt>path,.lk-rt-bolt>rect,.lk-rt-bolt>g,.lk-track-cell.is-struck path,.lk-rl-struck,.lk-rl-result.is-struck,.lk-roulette--storm .lk-rl-board svg:not(.fl-icon){animation:none}}`})),ln,un=n((()=>{ln=`.lk-scratch{width:410px}.lk-ticket{color:#2a1a0a;background:linear-gradient(#faf3e3,#efe3c6);border-radius:22px;padding:20px;position:relative;overflow:hidden;rotate:-1.2deg;box-shadow:inset 0 0 0 1px #8a642066,inset 0 0 0 6px #faf3e3,inset 0 0 0 7px #8a642080,0 40px 80px -24px #000000d9}.lk-ticket>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lk-ticket header{align-items:center;gap:10px;margin-bottom:12px;display:flex;position:relative}.lk-ticket header .fl-icon{aspect-ratio:309/366;color:#7d1c24;width:24px;height:auto}.lk-ticket header b{font:italic 700 20px var(--lk-display-font);color:#7d1c24}.lk-ticket header span{font:600 11px var(--lk-mono);color:#6e5a3a;margin-left:auto}.lk-ticket .lk-rule{color:#6e5a3a;margin:0 0 14px;font-size:12.5px;position:relative}.lk-spots{grid-template-columns:repeat(3,1fr);gap:10px;display:grid;position:relative}.lk-spot{background:#fffaf0;border-radius:14px;place-items:center;height:100px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #8a642073}.lk-spot img{width:52px}.lk-spot svg{width:52px;height:52px}.lk-spot-number{font:800 40px var(--lk-display-font);color:#6e5a3a}.lk-spot.is-match{box-shadow:inset 0 0 0 2px #b08a3a,0 0 0 4px #e2bd6359}.lk-spot.is-match img{animation:lk-sym-win .5s var(--lk-ease-out) infinite alternate}.lk-spot--wide{text-align:center;grid-column:1/-1;height:68px;font-size:22px;font-weight:700}.lk-spot--wide.is-locked .lk-foil{pointer-events:none;filter:brightness(.82)saturate(.7)}.lk-lock{z-index:2;font:italic 600 13px var(--lk-display-font);color:#3a2a10;pointer-events:none;justify-content:center;align-items:center;gap:7px;transition:opacity .4s;display:flex;position:absolute;inset:0}.lk-lock .fl-icon{width:1em;height:1em;font-size:15px}.lk-spot--wide:not(.is-locked) .lk-lock{opacity:0}.lk-spot--wide small{color:#6e5a3a;font-size:11px;font-weight:600;display:block}.lk-foil{cursor:crosshair;touch-action:none;border-radius:14px;width:100%;height:100%;position:absolute;inset:0}.lk-ticket footer{font:600 10.5px var(--lk-mono);color:#6e5a3a;justify-content:space-between;margin-top:14px;display:flex;position:relative}.lk-ticket{-webkit-user-select:none;user-select:none}.lk-ticket .lk-tk-logo{object-fit:contain;width:40px;height:40px}.lk-td-cell:not(:has(>small)){grid-template-rows:1fr}.lk-ticket--double,.lk-ticket--forever{--lk-ticket-font:"Arial Black", "Helvetica Neue", Arial, system-ui, sans-serif}:is(.lk-ticket--double,.lk-ticket--forever) .is-match{box-shadow:0 0 0 3px #ffe14d,0 0 18px 2px #ffe14dd9}:is(.lk-ticket--double,.lk-ticket--forever) .is-match b{animation:lk-sym-win .5s var(--lk-ease-out) infinite alternate}.lk-ticket.lk-ticket--double{color:#fff;background:radial-gradient(circle,#ffffff2e 0 2.5px,#0000 3px) 0 0/16px 16px,radial-gradient(circle,#ffffff1a 0 2.5px,#0000 3px) 8px 8px/16px 16px,radial-gradient(at 50% 0,#f2493d,#c8161e 58%,#990c13);padding:12px 16px 10px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px #990c13,0 40px 80px -24px #000000d9}.lk-td-head{text-align:center;position:relative}.lk-td-head h3{font:900 38px/1 var(--lk-ticket-font);letter-spacing:-.5px;color:#ffe14d;-webkit-text-stroke:7px #1d3fa0;paint-order:stroke fill;text-shadow:0 4px #0f2466;justify-content:center;align-items:center;margin:0;display:flex}.lk-td-head h3 svg{filter:drop-shadow(0 3px #0f2466);width:42px;height:50px;margin:-8px 0 0}.lk-td-head p{font:900 15px var(--lk-ticket-font);color:#fff;-webkit-text-stroke:4px #1d3fa0;paint-order:stroke fill;margin:3px 0 8px}.lk-td-band,.lk-td-yours{background:#2fa7e0;border-radius:12px;padding:5px 10px 10px;position:relative;box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #1d3fa0}.lk-td-yours{background:linear-gradient(#8fd8f5,#5cc0ec);margin-top:10px}.lk-td-band h4,.lk-td-yours h4{text-align:center;font:900 11px var(--lk-ticket-font);letter-spacing:1px;color:#fff;-webkit-text-stroke:3px #1d3fa0;paint-order:stroke fill;margin:0 0 5px}.lk-td-coins{justify-content:center;gap:10px;display:flex}.lk-td-coin{background:#fff8dc;border-radius:50%;place-items:center;width:54px;height:54px;display:grid;position:relative;box-shadow:inset 0 0 0 2px #c99a2e}.lk-td-coin b{font:900 22px var(--lk-ticket-font);color:#1d3fa0}.lk-td-coin .lk-foil{border-radius:50%}.lk-td-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.lk-td-cell{color:#1d3fa0;background:#fffaf0;border-radius:9px;grid-template-rows:1fr auto;place-items:center;height:68px;padding:5px 2px 4px;display:grid;position:relative;box-shadow:inset 0 0 0 1.5px #1d3fa0}.lk-td-cell b{font:900 23px/1 var(--lk-ticket-font)}.lk-td-cell small{font:900 8px/1 var(--lk-ticket-font);letter-spacing:.4px;color:#c8161e;justify-items:center;gap:1px;display:grid}.lk-td-cell small strong,.lk-tf-cell small,.lk-tf-flop b{white-space:nowrap;align-items:center;gap:3px;display:flex}.lk-td-cell small strong img,.lk-tf-cell small img,.lk-tf-flop b img{object-fit:contain;width:11px;height:11px}.lk-td-cell small strong{letter-spacing:0;color:#1d3fa0;white-space:nowrap;font-size:11px}.lk-td-cell .lk-foil{border-radius:9px}.lk-td-foot{font:900 12px var(--lk-ticket-font);color:#ffe14d;-webkit-text-stroke:3px #1d3fa0;paint-order:stroke fill;justify-content:space-between;align-items:center;margin-top:9px;display:flex}.lk-td-foot span{font:600 10px var(--lk-mono);color:#ffd9d6;-webkit-text-stroke:0}.lk-ticket.lk-ticket--forever{color:#0f4c9c;background:linear-gradient(#2b9fe0,#7fd0f5 22%,#c9ecfb 40%,#f3dcab 72%,#e6c27f);padding:10px 14px 8px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px #1769aa,0 40px 80px -24px #000000d9}.lk-tf-head h3{font:900 33px/1 var(--lk-ticket-font);color:#ffe14d;-webkit-text-stroke:6px #0f4c9c;paint-order:stroke fill;text-shadow:0 3px #082c5e;justify-content:center;align-items:center;gap:6px;margin:0 0 9px;display:flex}.lk-tf-head h3 i{width:30px;height:30px;font:italic 900 12px var(--lk-ticket-font);color:#fff;-webkit-text-stroke:0;text-shadow:none;background:#e5302a;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 2px #fff,0 2px 0 2px #082c5e}.lk-tf-game{background:#ffffff4d;border-radius:12px;padding:9px 8px 8px;position:relative;box-shadow:inset 0 0 0 1.5px #ffffffd9}.lk-tf-game+.lk-tf-game{margin-top:10px}.lk-tf-tag{font:italic 900 9.5px var(--lk-ticket-font);color:#fff;background:#e5302a;border-radius:5px;padding:1px 7px;position:absolute;top:-7px;left:-4px;box-shadow:0 0 0 1.5px #fff}.lk-tf-game h4{text-align:center;font:900 10px var(--lk-ticket-font);letter-spacing:1px;color:#0f4c9c;margin:0 0 4px}.lk-tf-sea{align-items:center;gap:8px;margin-bottom:6px;display:flex}.lk-tf-sea>div{flex:1}.lk-tf-boats{justify-content:center;gap:6px;display:flex}.lk-tf-boat{background:#fffaf0;border-radius:9px;place-items:center;width:52px;height:48px;display:grid;position:relative;box-shadow:inset 0 0 0 1.5px #0f4c9c}.lk-tf-boat b{font:900 21px var(--lk-ticket-font);color:#0f4c9c}.lk-tf-boat .lk-foil{border-radius:9px}.lk-tf-jackpot{width:96px;font:900 9.5px/1.15 var(--lk-ticket-font);text-align:center;color:#c8161e;background:#ffe14d;border-radius:10px;justify-items:center;margin:0;padding:6px 6px 7px;display:grid;rotate:-4deg;box-shadow:0 0 0 2px #e5302a,0 3px 0 2px #a3161b}.lk-tf-jackpot b{color:#0f4c9c;font-size:26px;line-height:.9}.lk-tf-beach{background:#fff;border-radius:10px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(5,1fr);gap:3px;height:168px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1.5px #fff}.lk-tf-cell{background:#fffaf0f0;place-content:center;justify-items:center;gap:2px;display:grid;position:relative}.lk-tf-cell b{font:900 19px/1 var(--lk-ticket-font);color:#0f4c9c}.lk-tf-cell small{font:900 9px var(--lk-ticket-font);color:#c8161e}.lk-ticket .lk-tf-cell .lk-tk-logo{width:32px;height:32px}.lk-tf-cell .lk-foil{border-radius:0}.lk-tf-game--two{grid-template-columns:1fr;gap:5px;display:grid}.lk-tf-game--two>span{text-align:center;font:900 10px var(--lk-ticket-font);color:#0f4c9c}.lk-tf-flops{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.lk-tf-flop{background:#fffaf0;border-radius:8px;place-content:center;justify-items:center;gap:2px;height:44px;display:grid;position:relative;box-shadow:inset 0 0 0 1.5px #0f4c9c}.lk-tf-flop b{font:900 12px var(--lk-ticket-font);color:#c8161e}.lk-tf-flop .lk-foil{border-radius:8px}.lk-tf-foot{text-align:right;font:600 10px var(--lk-mono);color:#6b4a14;margin-top:6px}`})),dn,fn=n((()=>{dn=`.lk-slot{width:450px;position:relative}.lk-slot-cab{background:radial-gradient(80% 20% at 50% 0,#ffe6b42e,#0000 70%),linear-gradient(#7a3d1c,#4a2410 45%,#2a1208);border-radius:30px 30px 24px 24px;padding:20px 22px 22px;position:relative;box-shadow:inset 0 0 0 2px #6b4a14,inset 0 0 0 4px #f3d488,inset 0 0 0 6px #8a6420,inset 0 2px 0 7px #ffffff1f,0 40px 80px -20px #000000d9}.lk-slot-sign{background:radial-gradient(circle at 50% 40%,oklch(34% .13 22),oklch(16% .06 20) 80%);border-radius:16px;place-items:center;height:82px;margin-bottom:18px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #d4a94e,inset 0 2px 14px #000000b3}.lk-slot-sign svg{width:100%;height:100%;position:absolute;inset:0}.lk-slot-sign b{font:700 32px var(--lk-display-font);letter-spacing:.14em;color:#ffe3a0;text-shadow:0 1px #6b4a14,0 0 10px #ffc86ecc,0 0 26px #ffa03c80;animation:6s step-end infinite lk-neon;position:relative}@keyframes lk-neon{0%,61%,63%,to{opacity:1}62%{opacity:.55}}.lk-slot-sign:after{content:"";width:40%;animation:lk-sheen 5.5s var(--lk-ease-out) infinite;background:linear-gradient(100deg,#0000,#ffffff1f,#0000);position:absolute;top:0;bottom:0;transform:skew(-18deg)}@keyframes lk-sheen{0%,70%{left:-60%}to{left:130%}}.lk-slot{--lk-lamp-off:#5a4320}.lk-slot-lamp{fill:var(--lk-lamp-off)}.lk-slot.is-idle .lk-slot-lamp{animation:1.4s step-end infinite lk-lamp-idle;animation-delay:calc(var(--i) * -.7s)}.lk-slot.is-spinning .lk-slot-lamp,.lk-table:hover .lk-slot-lamp{animation:.6s linear infinite lk-lamp-chase;animation-delay:calc(var(--i) * -.03s)}.lk-slot.is-won .lk-slot-lamp{animation:.18s step-end infinite lk-lamp-flash;animation-delay:calc(var(--i) * -.09s)}.lk-slot-glass{background:linear-gradient(#f6e2a6,#a77c2c 50%,#f1d892);border-radius:16px;grid-template-columns:repeat(3,1fr);gap:7px;padding:9px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #fff9,0 1px #8a6420}.lk-slot-glass:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 18%,#fff3 26%,#0000 34%),linear-gradient(115deg,#0000 52%,#ffffff14 56%,#0000 60%);border-radius:10px;position:absolute;inset:9px}.lk-reel{background:linear-gradient(#cdbf9c 0%,#fbf6ea 22% 78%,#cdbf9c 100%);border-radius:10px;height:300px;position:relative;overflow:hidden}.lk-reel:after{content:"";pointer-events:none;background:linear-gradient(#1e140a66,#1e140a0f 18%,#0000 34% 66%,#1e140a0f 82%,#1e140a66);position:absolute;inset:0}.lk-reel ul{will-change:transform;margin:0;padding:0;list-style:none}.lk-reel li{place-items:center;height:100px;display:grid}.lk-reel.is-blur ul{filter:blur(1.8px)saturate(1.2)}.lk-reel.is-suspense{animation:.42s ease-in-out infinite alternate lk-suspense}@keyframes lk-suspense{0%{box-shadow:0 0 0 3px #e2bd63}to{box-shadow:0 0 0 4px #9e1b22,0 0 22px #ffc86e99}}.lk-sym{place-items:center;width:72px;height:72px;display:grid}.lk-sym img{filter:drop-shadow(0 3px 2px #0003);width:58px;height:58px}.lk-sym svg{filter:drop-shadow(0 3px 2px #0003);width:64px;height:64px}.lk-reel li.is-win .lk-sym{animation:lk-sym-win .5s var(--lk-ease-out) infinite alternate}.lk-payline{pointer-events:none;background:#9e1b2299;border-radius:2px;height:2px;position:absolute;top:50%;left:4px;right:4px;translate:0 -50%}.lk-slot.is-won .lk-payline{background:#f3d488;height:3px;animation:.24s steps(2,end) 8 lk-payline;box-shadow:0 0 14px #ffcf7a}@keyframes lk-payline{50%{opacity:.2}}.lk-slot-strip{background:radial-gradient(circle,#fff 0 1.5px,#ffe3a0 2.5px,#ffc86e59 3.6px,#0000 5px) 50% 0/12px 54px repeat-y,radial-gradient(circle,#6b5226 0 1.8px,#0000 2.4px) 50% 0/12px 18px repeat-y,linear-gradient(90deg,#6b4a14,#2a1208,#6b4a14);border-radius:6px;width:12px;animation:.9s steps(3,end) infinite lk-strip-bulbs;position:absolute;top:130px;bottom:110px;box-shadow:0 0 14px #ffbe5a40}.lk-slot-strip--left{left:-6px}.lk-slot-strip--right{right:-6px}.lk-slot.is-spinning .lk-slot-strip{animation-duration:.27s}.lk-slot.is-won .lk-slot-strip{animation-duration:.15s}@keyframes lk-strip-bulbs{to{background-position:50% 54px,50% 0,0 0}}.lk-slot-tray{background:#120a05;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:10px 10px 10px 14px;display:flex;box-shadow:inset 0 0 0 1px #e2bd634d,inset 0 2px 8px #000000b3}.lk-readout span{color:#b3a27b;font-size:11px;font-weight:600;display:block}.lk-readout b{font:600 15px var(--lk-mono);color:#ffd889;text-shadow:0 0 10px #ffbe5a99}.lk-lever{background:0 0;border:0;width:50px;height:240px;padding:0;position:absolute;top:140px;right:-56px}.lk-lever .lk-rod{transform-origin:50% 100%;background:linear-gradient(90deg,#8a6420,#f6e2a6 22%,#b8892f 48%,#fff3c4 72%,#8a6420);border-radius:6px;width:10px;height:170px;position:absolute;bottom:30px;left:20px;box-shadow:0 6px 10px #00000040}.lk-lever .lk-knob{background:radial-gradient(circle at 34% 30%,#fff,#ff8a96 22%,#9e1b2a 62%,#3a0710);border-radius:50%;width:32px;height:32px;position:absolute;top:-26px;left:-11px;box-shadow:0 6px 12px #0000004d}.lk-lever .lk-base{background:linear-gradient(90deg,#8a6420,#f6e2a6 22%,#b8892f 48%,#fff3c4 72%,#8a6420);border-radius:10px;width:38px;height:56px;position:absolute;bottom:6px;left:6px;box-shadow:inset 0 0 0 1px #fff9,0 6px 12px #00000040}.lk-takeoff,.lk-breakaway{flex-direction:column;align-items:center;gap:14px;display:flex}.lk-takeoff .lk-controls,.lk-breakaway .lk-controls{margin-top:4px}.lk-takeoff-screen{aspect-ratio:2;border-radius:22px;width:min(720px,100cqw - 32px);position:relative;overflow:hidden;box-shadow:0 0 0 2px #6b4a14,0 0 0 6px #2a1208,0 0 0 7px #e2bd638c,0 30px 60px -24px #000000d9}.lk-takeoff-screen canvas{width:100%;height:100%;display:block}.lk-takeoff-reading{pointer-events:none;text-align:center;place-content:center;justify-items:center;gap:4px;display:grid;position:absolute;inset:0}.lk-takeoff-reading b{font:700 clamp(44px, 9cqw, 76px) / 1 var(--lk-display-font);font-variant-numeric:tabular-nums;color:var(--lk-gold-hi);text-shadow:0 0 26px #ffd36e73,0 4px #3a2608}.lk-takeoff-reading span{font:italic 600 17px var(--lk-display-font);color:var(--lk-gold)}.lk-takeoff-screen.is-gone .lk-takeoff-reading b{color:#e06a72;text-shadow:0 0 26px #e0566a73,0 4px #3a0a10}.lk-takeoff-screen.is-gone .lk-takeoff-reading span{color:#f0a2a8;font-size:22px}.lk-takeoff-screen.is-cashed .lk-takeoff-reading b{color:#fff6d2}.lk-takeoff-steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.lk-takeoff-steps li{min-width:62px;box-shadow:inset 0 0 0 1px var(--lk-gold-line);color:var(--lk-text-muted);white-space:nowrap;background:#0000004d;border-radius:10px;justify-items:center;padding:5px 6px;font-size:11.5px;font-weight:700;transition:background .25s,color .25s,box-shadow .25s;display:grid}.lk-takeoff-steps small{font:700 12.5px var(--lk-display-font);color:var(--lk-gold)}.lk-takeoff-steps li.is-reached{box-shadow:inset 0 0 0 1px var(--lk-gold);color:var(--lk-gold-hi);background:#e2bd6329}.lk-takeoff-steps li.is-cashed{color:#2a1a05;background:linear-gradient(#f6dd96,#c99a3e);box-shadow:0 0 16px #e2bd6399}.lk-takeoff-steps li.is-cashed small{color:#2a1a05}.lk-takeoff-steps li.is-jackpot small{color:#fff3c4}.lk-breakaway .lk-btn.is-hidden{visibility:hidden}.lk-field-wrap{aspect-ratio:430/590;height:min(560px,100cqh - 120px);position:relative}.lk-field{filter:drop-shadow(0 26px 40px #0009);width:100%;height:100%;display:block}.lk-field-lines{fill:none;stroke:#e2bd63;stroke-opacity:.55;stroke-width:2px}.lk-field-spot{fill:#e2bd63;fill-opacity:.7;stroke:none}.lk-field-keeper{animation:2.2s ease-in-out infinite alternate lk-keeper-sway}@keyframes lk-keeper-sway{0%{transform:translate(-16px)}to{transform:translate(16px)}}.lk-field-prize rect{fill:#12080499;stroke:#e2bd6373}.lk-field-prize text{font:700 12.5px var(--lk-display-font);fill:var(--lk-gold)}.lk-field-prize.is-jackpot rect{stroke:var(--lk-gold)}.lk-field-prize.is-jackpot text{fill:#fff3c4}.lk-field-prize.is-collected rect{fill:#e2bd63;stroke:#fff3c4}.lk-field-prize.is-collected text{fill:#2a1a05}.lk-field-square{fill:#fffaf00d;stroke:#f6e2a638;stroke-width:1px;transition:fill .2s,stroke .2s}.lk-field-square.is-open{cursor:pointer;fill:#fffaf01f;stroke:#f6e2a6b3;animation:1.4s ease-in-out infinite alternate lk-field-open}.lk-field-square.is-open:hover,.lk-field-square.is-open:focus-visible{fill:#f6e2a64d;stroke:#fff3c4;stroke-width:2px;outline:none}@keyframes lk-field-open{to{stroke:#fff3c4;fill:#f6e2a62e}}.lk-field-square.is-path{fill:#e2bd6347;stroke:var(--lk-gold)}.lk-field-defender{animation:lk-field-tackle .35s var(--lk-ease-expo)}@keyframes lk-field-tackle{0%{opacity:0;transform-origin:50%;scale:.4}}.lk-field-striker{transition:transform .48s var(--lk-ease-out)}.lk-field-ball{filter:drop-shadow(0 0 3px #ffcf5a)}.lk-field.is-tackled .lk-field-striker{filter:grayscale(.7)brightness(.8)}.lk-shot{z-index:3;background:linear-gradient(#0000 30%,#1a5c36 30%);border-radius:12px;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 2px #e2bd6373}.lk-shot-stands{width:100%;height:30%;display:block}.lk-fan{transform-box:fill-box}.lk-fan-arms{opacity:0}.lk-shot.is-celebrating .lk-fan{animation:lk-fan-jump .42s ease-in-out var(--d) infinite alternate}.lk-shot.is-celebrating .lk-fan-arms{opacity:1}@keyframes lk-fan-jump{to{transform:translateY(-6px)}}.lk-shot-goal{aspect-ratio:2.2;background:repeating-linear-gradient(45deg,#ffffff2e 0 1px,#0000 1px 9px),repeating-linear-gradient(-45deg,#ffffff2e 0 1px,#0000 1px 9px),#00000040;border:8px solid #f1d892;border-bottom:0;border-radius:8px 8px 0 0;grid-template:repeat(2,1fr)/repeat(3,1fr);width:86%;margin:6% auto 0;display:grid;position:relative;box-shadow:0 0 24px #e2bd6359}.lk-shot-zone{background:0 0;border:0;border-radius:10px;margin:4px;padding:0;transition:background .2s,box-shadow .2s;box-shadow:inset 0 0 0 1px #f6e2a640}.lk-shot-zone:not(:disabled):hover,.lk-shot-zone:focus-visible{box-shadow:inset 0 0 0 2px var(--lk-gold-hi), 0 0 18px #ffd36e80;background:#f6e2a633;outline:none}.lk-shot-zone:disabled{cursor:default}.lk-shot-keeper{pointer-events:none;width:26%;height:82%;transition:translate .5s var(--lk-ease-out), rotate .5s var(--lk-ease-out);position:absolute;bottom:0;left:50%;translate:-50%}.lk-shot-keeper.is-diving-0{translate:-160% -40%;rotate:-70deg}.lk-shot-keeper.is-diving-1{translate:-50% -45%}.lk-shot-keeper.is-diving-2{translate:60% -40%;rotate:70deg}.lk-shot-keeper.is-diving-3{translate:-160%;rotate:-80deg}.lk-shot-keeper.is-diving-4{translate:-50%;scale:1.1}.lk-shot-keeper.is-diving-5{translate:60%;rotate:80deg}.lk-shot-ball{filter:drop-shadow(0 0 6px #ffcf5a);width:34px;height:34px;transition:left .6s var(--lk-ease-out), top .6s var(--lk-ease-out), scale .6s var(--lk-ease-out);position:absolute;top:198%;left:50%;translate:-50% -50%}.lk-shot-ball[class*=is-at-]{scale:.65}.lk-shot-ball.is-at-0{top:25%;left:16.7%}.lk-shot-ball.is-at-1{top:25%;left:50%}.lk-shot-ball.is-at-2{top:25%;left:83.3%}.lk-shot-ball.is-at-3{top:75%;left:16.7%}.lk-shot-ball.is-at-4{top:75%;left:50%}.lk-shot-ball.is-at-5{top:75%;left:83.3%}.lk-shot-striker{aspect-ratio:28/37;width:17%;position:absolute;bottom:2%;left:50%;translate:-40%}.lk-shot-goal-call{font:italic 800 64px var(--lk-display-font);color:var(--lk-gold-hi);text-shadow:0 0 30px #ffd36eb3,0 5px #3a2608;animation:lk-goal-call .6s var(--lk-ease-expo);position:absolute;top:52%;left:50%;translate:-50% -50%}@keyframes lk-goal-call{0%{opacity:0;scale:.4}}.lk-shot{animation:.4s lk-shot-in}@keyframes lk-shot-in{0%{opacity:0}}`})),pn,mn=n((()=>{pn=`.lk-wheel-game{width:clamp(240px,100cqh - 188px,520px)}.lk-wheel-wrap{aspect-ratio:1;touch-action:none;cursor:grab;width:100%;position:relative}.lk-wheel-wrap.is-grabbed{cursor:grabbing}.lk-wheel-wrap{clip-path:inset(-20% round 28px);transition:clip-path .6s var(--lk-ease-out)}.lk-wheel-wrap:after{content:"";z-index:4;pointer-events:none;box-shadow:inset 0 0 0 2px var(--lk-gold), inset 0 0 0 7px #2a140a, inset 0 0 60px #000000b3;opacity:0;border-radius:28px;transition:opacity .6s;position:absolute;inset:0}.lk-wheel-wrap.is-zoomed{clip-path:inset(0 round 28px)}.lk-wheel-wrap.is-zoomed:after{opacity:1}.lk-wheel-zoom{transform-origin:50% var(--lk-zoom-y);transition:transform .7s var(--lk-ease-expo);position:absolute;inset:0}.lk-wheel-wrap.is-zoomed .lk-wheel-zoom{transform:scale(var(--lk-zoom))}@media (prefers-reduced-motion:reduce){.lk-wheel-wrap,.lk-wheel-wrap:after,.lk-wheel-zoom{transition:none}}.lk-wheel{width:100%;height:100%;position:absolute;inset:0}.lk-wheel-zoom:before{content:"";border-radius:50%;position:absolute;inset:2.7%;box-shadow:0 28px 34px #0009,0 0 30px #ffc86e26}.lk-wheel-logo{color:#f3d488;font-size:34px}.lk-wheel-logo .fl-icon{stroke-width:1.6px;display:block}.lk-pointer{z-index:3;transform-origin:50% 24%;filter:drop-shadow(0 4px 4px #0000004d);width:9%;position:absolute;top:-3.2%;left:50%;translate:-50%}.lk-lamp{fill:var(--lk-lamp-off);transition:fill .12s}.lk-wheel-game.is-idle .lk-lamp{animation:1.8s step-end infinite lk-lamp-idle;animation-delay:calc(var(--i) * -.9s)}.lk-wheel-game.is-spinning .lk-lamp{animation:.7s linear infinite lk-lamp-chase;animation-delay:calc(var(--i) * -.0259s)}.lk-wheel-game.is-won .lk-lamp{animation:.26s step-end infinite lk-lamp-flash;animation-delay:calc(var(--i) * -.13s)}.lk-win-seg{opacity:0}.lk-wheel-game.is-won .lk-win-seg{animation:.5s ease-in-out infinite alternate lk-win-pulse}@keyframes lk-win-pulse{0%{opacity:.1}to{opacity:.7}}.lk-booster{z-index:4;width:max-content;box-shadow:inset 0 0 0 1px #d4a94e, var(--lk-shadow-object);background:linear-gradient(#4a2410,#2a1208);border-radius:14px;align-items:center;gap:10px;margin:0 auto 30px;padding:6px 7px 6px 12px;display:flex;position:relative}.lk-booster>span{color:var(--lk-gold);font:700 11px var(--lk-display-font);letter-spacing:.08em}.lk-window{background:var(--lk-display);border-radius:9px;width:160px;height:40px;position:relative;overflow:hidden;box-shadow:inset 0 2px 6px #0009}.lk-window:after{content:"";background:linear-gradient(180deg, var(--lk-display), transparent 30%, transparent 70%, var(--lk-display));position:absolute;inset:0}.lk-window ul{will-change:transform;margin:0;padding:0;list-style:none}.lk-window li{color:#f5ecd6;white-space:nowrap;align-items:center;gap:8px;height:40px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.lk-window li img{width:22px;height:22px}.lk-booster.is-blur ul{filter:blur(1.4px)}.lk-booster.is-set .lk-window{box-shadow:inset 0 2px 6px #0009, 0 0 0 2px var(--lk-gold), 0 0 16px #e2bd6380}.lk-bonus{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#140a05cc;place-items:center;animation:.35s both lk-fade-in;display:grid;position:absolute;inset:0}.lk-bonus-card{text-align:center}.lk-bonus-card h3{font:italic 700 32px var(--lk-display-font);color:var(--lk-gold-hi);margin:0 0 4px}.lk-bonus-card p{color:var(--lk-text-muted);margin:0 0 22px}.lk-coin-stage{perspective:900px;width:220px;height:260px;margin:0 auto;position:relative}.lk-coin{width:160px;height:160px;transform-style:preserve-3d;position:absolute;top:60px;left:30px}.lk-coin-face{backface-visibility:hidden;border-radius:50%;place-items:center;font-size:24px;font-weight:700;display:grid;position:absolute;inset:0}.lk-coin-face small{opacity:.85;font-size:11px;font-weight:600;display:block}.lk-coin-face--gold{color:#2a1a05;background:radial-gradient(circle at 34% 28%,#fff3c4,#d4a94e 48%,#6b4a14);box-shadow:inset 0 0 0 7px #ffffff4d,inset 0 0 0 9px #5a3c0a73}.lk-coin-face--ruby{color:#fff;background:radial-gradient(circle at 34% 28%,#ff9aa5,#9e1b2a 50%,#3a0710);transform:rotateX(180deg);box-shadow:inset 0 0 0 7px #ffffff38,inset 0 0 0 9px #ffd68c80}.lk-coin-shadow{background:radial-gradient(closest-side,#00000080,#0000);border-radius:50%;height:18px;position:absolute;bottom:16px;left:50px;right:50px}.lk-hunt{perspective:900px;grid-template-columns:repeat(6,72px);gap:10px;margin:0 auto 8px;display:grid}.lk-hunt button{height:72px;transform-style:preserve-3d;transition:transform .7s var(--lk-ease-expo);background:0 0;border:0;padding:0;position:relative}.lk-hunt button.is-open{transform:rotateY(180deg)}.lk-hunt .lk-face,.lk-hunt .lk-back{backface-visibility:hidden;border-radius:14px;place-items:center;display:grid;position:absolute;inset:0}.lk-hunt .lk-face{color:var(--lk-gold);background:linear-gradient(#4a2410,#2a1208);font-size:22px;box-shadow:inset 0 0 0 1px #d4a94e,0 6px 14px #00000080}.lk-hunt button:not(.is-open):hover .lk-face{box-shadow:inset 0 0 0 2px #f3d488,0 0 18px #ffc86e80}.lk-hunt .lk-back{color:#2a1a0a;background:#f4ead3;font-size:13px;font-weight:600;transform:rotateY(180deg);box-shadow:inset 0 0 0 1px #b08a3a}.lk-hunt .lk-back.is-pick{color:#2a1a05;background:linear-gradient(#f6dd96,#c99a3e);box-shadow:0 0 26px #ffc86e99}.lk-window--boost{width:132px}.lk-window--boost li{color:var(--lk-gold-hi);font:800 12px var(--font-sans,inherit);letter-spacing:.06em;justify-content:center}.lk-window--boost.is-set{box-shadow:inset 0 2px 6px #0009,0 0 0 2px #f6dd96,0 0 18px #ffd36eb3}.lk-booster-x{min-width:38px;height:28px;font:800 14px var(--font-sans,inherit);color:#2a1a058c;background:linear-gradient(#8a6420,#5a3c0e);border-radius:999px;place-items:center;padding:0 8px;transition:color .3s,background .3s,box-shadow .3s;display:grid}.lk-booster-x.is-set{color:#2a1a05;animation:lk-bolt-in .5s var(--lk-ease-expo) both;background:linear-gradient(#fff3c4,#d4a94e 55%,#a77c2c);box-shadow:0 0 14px #ffd36ecc}.lk-wheel-boost{fill:#ffd66e6b;stroke:#fff4d6;stroke-width:3px;animation:lk-wheel-boost-in .6s var(--lk-ease-expo) both, lk-wheel-boost 1s .6s ease-in-out infinite alternate}.lk-wheel-badge{transform-box:fill-box;transform-origin:50%;animation:lk-badge-in .5s .2s var(--lk-ease-expo) both}.lk-wheel-badge text{font:900 13px var(--font-sans,inherit);fill:#2a1a05;text-anchor:middle;dominant-baseline:central}@keyframes lk-wheel-boost-in{0%{fill:#fffffff2}}@keyframes lk-wheel-boost{to{fill:#ffd66e9e;stroke-width:5px}}@media (prefers-reduced-motion:reduce){.lk-booster-x.is-set,.lk-wheel-boost,.lk-wheel-badge,:is(.lk-ticket--double,.lk-ticket--forever) .is-match b{animation:none}}`})),hn,gn=n((()=>{$t(),tn(),rn(),on(),cn(),un(),fn(),mn(),hn=[an,pn,dn,sn,nn,ln,Qt,en].join(`
|
|
2
|
-
`)})),_n,vn=n((()=>{_n=class extends Event{constructor(e,t,n,r){super(`context-request`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t,this.callback=n,this.subscribe=r??!1}}}));function yn(e){return e}var bn=n((()=>{})),xn,Sn=n((()=>{vn(),xn=class{constructor(e,t,n,r){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(e,t)=>{this.unsubscribe&&(this.unsubscribe!==t&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=e,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(e,t)),this.unsubscribe=t},this.host=e,t.context!==void 0){let e=t;this.context=e.context,this.callback=e.callback,this.subscribe=e.subscribe??!1}else this.context=t,this.callback=n,this.subscribe=r??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&=(this.unsubscribe(),void 0)}dispatchRequest(){this.host.dispatchEvent(new _n(this.context,this.host,this.t,this.subscribe))}}})),Cn,wn=n((()=>{Cn=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:t}]of this.subscriptions)e(this.o,t)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:r}=this.subscriptions.get(e);e(this.value,r)}clearCallbacks(){this.subscriptions.clear()}}})),Tn,En,Dn=n((()=>{vn(),wn(),Tn=class extends Event{constructor(e,t){super(`context-provider`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},En=class extends Cn{constructor(e,t,n){super(t.context===void 0?n:t.initialValue),this.onContextRequest=e=>{if(e.context!==this.context)return;let t=e.contextTarget??e.composedPath()[0];t!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=e=>{if(e.context!==this.context||(e.contextTarget??e.composedPath()[0])===this.host)return;let t=new Set;for(let[e,{consumerHost:n}]of this.subscriptions)t.has(e)||(t.add(e),n.dispatchEvent(new _n(this.context,n,e,!0)));e.stopPropagation()},this.host=e,this.context=t.context===void 0?t:t.context,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(`context-request`,this.onContextRequest),this.host.addEventListener(`context-provider`,this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new Tn(this.context,this.host))}}}));function On({context:e}){return(t,n)=>{let r=new WeakMap;if(typeof n==`object`)return{get(){return t.get.call(this)},set(e){return r.get(this).setValue(e),t.set.call(this,e)},init(t){return r.set(this,new En(this,{context:e,initialValue:t})),t}};{t.constructor.addInitializer((t=>{r.set(t,new En(t,{context:e}))}));let i=Object.getOwnPropertyDescriptor(t,n),a;if(i===void 0){let e=new WeakMap;a={get(){return e.get(this)},set(t){r.get(this).setValue(t),e.set(this,t)},configurable:!0,enumerable:!0}}else{let e=i.set;a={...i,set(t){r.get(this).setValue(t),e?.call(this,t)}}}Object.defineProperty(t,n,a);return}}}var kn=n((()=>{Dn()}));function An({context:e,subscribe:t}){return(n,r)=>{typeof r==`object`?r.addInitializer((function(){new xn(this,{context:e,callback:e=>{n.set.call(this,e)},subscribe:t})})):n.constructor.addInitializer((n=>{new xn(n,{context:e,callback:e=>{n[r]=e},subscribe:t})}))}}var jn=n((()=>{Sn()})),Mn=n((()=>{vn(),bn(),Sn(),Dn(),kn(),jn()})),Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn=n((()=>{Nn=globalThis,Pn=Nn.ShadowRoot&&(Nn.ShadyCSS===void 0||Nn.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,Fn=Symbol(),In=new WeakMap,Ln=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==Fn)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(Pn&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=In.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&In.set(t,e))}return e}toString(){return this.cssText}},Rn=e=>new Ln(typeof e==`string`?e:e+``,void 0,Fn),zn=(e,t)=>{if(Pn)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=Nn.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},Bn=Pn?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return Rn(t)})(e):e})),Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr=n((()=>{Vn(),{is:Hn,defineProperty:Un,getOwnPropertyDescriptor:Wn,getOwnPropertyNames:Gn,getOwnPropertySymbols:Kn,getPrototypeOf:qn}=Object,Jn=globalThis,Yn=Jn.trustedTypes,Xn=Yn?Yn.emptyScript:``,Zn=Jn.reactiveElementPolyfillSupport,Qn=(e,t)=>e,$n={toAttribute(e,t){switch(t){case Boolean:e=e?Xn:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},er=(e,t)=>!Hn(e,t),tr={attribute:!0,type:String,converter:$n,reflect:!1,useDefault:!1,hasChanged:er},Symbol.metadata??=Symbol(`metadata`),Jn.litPropertyMetadata??=new WeakMap,nr=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=tr){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&Un(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=Wn(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??tr}static _$Ei(){if(this.hasOwnProperty(Qn(`elementProperties`)))return;let e=qn(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(Qn(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(Qn(`properties`))){let e=this.properties,t=[...Gn(e),...Kn(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(Bn(e))}else e!==void 0&&t.push(Bn(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return zn(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?$n:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?$n:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??er)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}},nr.elementStyles=[],nr.shadowRootOptions={mode:`open`},nr[Qn(`elementProperties`)]=new Map,nr[Qn(`finalized`)]=new Map,Zn?.({ReactiveElement:nr}),(Jn.reactiveElementVersions??=[]).push(`2.1.2`)}));function ir(e,t){if(!_r(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return lr===void 0?t:lr.createHTML(t)}function ar(e,t,n=e,r){if(t===kr)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=gr(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=ar(e,i._$AS(e,t.values),i,r)),t}var or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,h,g,Or,kr,_,Ar,jr,Mr,Nr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Hr,Ur,Wr=n((()=>{or=globalThis,sr=e=>e,cr=or.trustedTypes,lr=cr?cr.createPolicy(`lit-html`,{createHTML:e=>e}):void 0,ur=`$lit$`,dr=`lit$${Math.random().toFixed(9).slice(2)}$`,fr=`?`+dr,pr=`<${fr}>`,mr=document,hr=()=>mr.createComment(``),gr=e=>e===null||typeof e!=`object`&&typeof e!=`function`,_r=Array.isArray,vr=e=>_r(e)||typeof e?.[Symbol.iterator]==`function`,yr=`[
|
|
3
|
-
\f\r]`,br=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,xr=/-->/g,Sr=/>/g,Cr=RegExp(`>|${yr}(?:([^\\s"'>=/]+)(${yr}*=${yr}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),wr=/'/g,Tr=/"/g,Er=/^(?:script|style|textarea|title)$/i,Dr=e=>(t,...n)=>({_$litType$:e,strings:t,values:n}),h=Dr(1),g=Dr(2),Or=Dr(3),kr=Symbol.for(`lit-noChange`),_=Symbol.for(`lit-nothing`),Ar=new WeakMap,jr=mr.createTreeWalker(mr,129),Mr=(e,t)=>{let n=e.length-1,r=[],i,a=t===2?`<svg>`:t===3?`<math>`:``,o=br;for(let t=0;t<n;t++){let n=e[t],s,c,l=-1,u=0;for(;u<n.length&&(o.lastIndex=u,c=o.exec(n),c!==null);)u=o.lastIndex,o===br?c[1]===`!--`?o=xr:c[1]===void 0?c[2]===void 0?c[3]!==void 0&&(o=Cr):(Er.test(c[2])&&(i=RegExp(`</`+c[2],`g`)),o=Cr):o=Sr:o===Cr?c[0]===`>`?(o=i??br,l=-1):c[1]===void 0?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=c[3]===void 0?Cr:c[3]===`"`?Tr:wr):o===Tr||o===wr?o=Cr:o===xr||o===Sr?o=br:(o=Cr,i=void 0);let d=o===Cr&&e[t+1].startsWith(`/>`)?` `:``;a+=o===br?n+pr:l>=0?(r.push(s),n.slice(0,l)+ur+n.slice(l)+dr+d):n+dr+(l===-2?t:d)}return[ir(e,a+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},Nr=class e{constructor({strings:t,_$litType$:n},r){let i;this.parts=[];let a=0,o=0,s=t.length-1,c=this.parts,[l,u]=Mr(t,n);if(this.el=e.createElement(l,r),jr.currentNode=this.el.content,n===2||n===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(i=jr.nextNode())!==null&&c.length<s;){if(i.nodeType===1){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(ur)){let t=u[o++],n=i.getAttribute(e).split(dr),r=/([.?@])?(.*)/.exec(t);c.push({type:1,index:a,name:r[2],strings:n,ctor:r[1]===`.`?Lr:r[1]===`?`?Rr:r[1]===`@`?zr:Ir}),i.removeAttribute(e)}else e.startsWith(dr)&&(c.push({type:6,index:a}),i.removeAttribute(e));if(Er.test(i.tagName)){let e=i.textContent.split(dr),t=e.length-1;if(t>0){i.textContent=cr?cr.emptyScript:``;for(let n=0;n<t;n++)i.append(e[n],hr()),jr.nextNode(),c.push({type:2,index:++a});i.append(e[t],hr())}}}else if(i.nodeType===8){if(i.data===fr)c.push({type:2,index:a});else{let e=-1;for(;(e=i.data.indexOf(dr,e+1))!==-1;)c.push({type:7,index:a}),e+=dr.length-1}}a++}}static createElement(e,t){let n=mr.createElement(`template`);return n.innerHTML=e,n}},Pr=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??mr).importNode(t,!0);jr.currentNode=r;let i=jr.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new Fr(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new Br(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=jr.nextNode(),a++)}return jr.currentNode=mr,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},Fr=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=_,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=ar(this,e,t),gr(e)?e===_||e==null||e===``?(this._$AH!==_&&this._$AR(),this._$AH=_):e!==this._$AH&&e!==kr&&this._(e):e._$litType$===void 0?e.nodeType===void 0?vr(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==_&&gr(this._$AH)?this._$AA.nextSibling.data=e:this.T(mr.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=Nr.createElement(ir(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new Pr(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=Ar.get(e.strings);return t===void 0&&Ar.set(e.strings,t=new Nr(e)),t}k(t){_r(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(hr()),this.O(hr()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=sr(e).nextSibling;sr(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},Ir=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=_,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=_}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=ar(this,e,t,0),a=!gr(e)||e!==this._$AH&&e!==kr,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=ar(this,r[n+o],t,o),s===kr&&(s=this._$AH[o]),a||=!gr(s)||s!==this._$AH[o],s===_?e=_:e!==_&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===_?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},Lr=class extends Ir{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===_?void 0:e}},Rr=class extends Ir{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==_)}},zr=class extends Ir{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}_$AI(e,t=this){if((e=ar(this,e,t,0)??_)===kr)return;let n=this._$AH,r=e===_&&n!==_||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==_&&(n===_||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Br=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){ar(this,e)}},Vr={M:ur,P:dr,A:fr,C:1,L:Mr,R:Pr,D:vr,V:ar,I:Fr,H:Ir,N:Rr,U:zr,B:Lr,F:Br},Hr=or.litHtmlPolyfillSupport,Hr?.(Nr,Fr),(or.litHtmlVersions??=[]).push(`3.3.3`),Ur=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new Fr(t.insertBefore(hr(),e),e,void 0,n??{})}return i._$AI(e),i}})),Gr,Kr,qr,Jr=n((()=>{rr(),rr(),Wr(),Wr(),Gr=globalThis,Kr=class extends nr{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Ur(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return kr}},Kr._$litElement$=!0,Kr.finalized=!0,Gr.litElementHydrateSupport?.({LitElement:Kr}),qr=Gr.litElementPolyfillSupport,qr?.({LitElement:Kr}),(Gr.litElementVersions??=[]).push(`4.2.2`)})),Yr=n((()=>{})),v=n((()=>{rr(),Wr(),Jr(),Yr()})),y,Xr=n((()=>{y=e=>(t,n)=>{n===void 0?customElements.define(e,t):n.addInitializer(()=>{customElements.define(e,t)})}}));function b(e){return(t,n)=>typeof n==`object`?Qr(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}var Zr,Qr,$r=n((()=>{rr(),Zr={attribute:!0,type:String,converter:$n,reflect:!1,hasChanged:er},Qr=(e=Zr,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)}}));function x(e){return b({...e,state:!0,attribute:!1})}var ei=n((()=>{$r()})),ti=n((()=>{})),ni,ri=n((()=>{ni=(e,t,n)=>(n.configurable=!0,n.enumerable=!0,Reflect.decorate&&typeof t!=`object`&&Object.defineProperty(e,t,n),n)}));function S(e,t){return(n,r,i)=>{let a=t=>t.renderRoot?.querySelector(e)??null;if(t){let{get:e,set:t}=typeof r==`object`?n:i??(()=>{let e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return ni(n,r,{get(){let n=e.call(this);return n===void 0&&(n=a(this),(n!==null||this.hasUpdated)&&t.call(this,n)),n}})}return ni(n,r,{get(){return a(this)}})}}var ii=n((()=>{ri()})),ai=n((()=>{})),oi=n((()=>{})),si=n((()=>{})),ci=n((()=>{})),C=n((()=>{Xr(),$r(),ei(),ti(),ii(),ai(),oi(),si(),ci()})),li,ui,di,fi=n((()=>{li={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},ui=e=>(...t)=>({_$litDirective$:e,values:t}),di=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}})),pi,mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci=n((()=>{Wr(),{I:pi}=Vr,mi=e=>e,hi=e=>e.strings===void 0,gi=()=>document.createComment(``),_i=(e,t,n)=>{let r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0){let t=r.insertBefore(gi(),i),a=r.insertBefore(gi(),i);n=new pi(t,a,e,e.options)}else{let t=n._$AB.nextSibling,a=n._$AM,o=a!==e;if(o){let t;n._$AQ?.(e),n._$AM=e,n._$AP!==void 0&&(t=e._$AU)!==a._$AU&&n._$AP(t)}if(t!==i||o){let e=n._$AA;for(;e!==t;){let t=mi(e).nextSibling;mi(r).insertBefore(e,i),e=t}}}return n},vi=(e,t,n=e)=>(e._$AI(t,n),e),yi={},bi=(e,t=yi)=>e._$AH=t,xi=e=>e._$AH,Si=e=>{e._$AR(),e._$AA.remove()}})),wi,Ti=n((()=>{Wr(),fi(),Ci(),wi=ui(class extends di{constructor(){super(...arguments),this.key=_}render(e,t){return this.key=e,t}update(e,[t,n]){return t!==this.key&&(bi(e),this.key=t),n}})})),Ei=n((()=>{Ti()})),Di,Oi,ki,Ai,ji,Mi,Ni=n((()=>{Wr(),Di=Symbol.for(``),Oi=e=>{if(e?.r===Di)return e?._$litStatic$},ki=e=>({_$litStatic$:e,r:Di}),Ai=new Map,ji=e=>(t,...n)=>{let r=n.length,i,a,o=[],s=[],c,l=0,u=!1;for(;l<r;){for(c=t[l];l<r&&(a=n[l],(i=Oi(a))!==void 0);)c+=i+t[++l],u=!0;l!==r&&s.push(a),o.push(c),l++}if(l===r&&o.push(t[r]),u){let e=o.join(`$$lit$$`);(t=Ai.get(e))===void 0&&(o.raw=o,Ai.set(e,t=o)),n=s}return e(t,...n)},Mi=ji(h),ji(g),ji(Or)})),Pi=n((()=>{Ni()})),Fi,Ii=n((()=>{Fi=[[`path`,{d:`m12 19-7-7 7-7`}],[`path`,{d:`M19 12H5`}]]})),Li,Ri=n((()=>{Li=[[`path`,{d:`M5 12h14`}],[`path`,{d:`m12 5 7 7-7 7`}]]})),zi,Bi=n((()=>{zi=[[`path`,{d:`M20 6 9 17l-5-5`}]]})),Vi,Hi=n((()=>{Vi=[[`path`,{d:`m9 18 6-6-6-6`}]]})),Ui,Wi=n((()=>{Ui=[[`path`,{d:`m17 11-5-5-5 5`}],[`path`,{d:`m17 18-5-5-5 5`}]]})),Gi,Ki=n((()=>{Gi=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8 12 4 4 4-4`}]]})),qi,Ji=n((()=>{qi=[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`}]]})),Yi,Xi=n((()=>{Yi=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]]})),Zi,Qi=n((()=>{Zi=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]]})),$i,ea=n((()=>{$i=[[`path`,{d:`M16.17 7.83 2 22`}],[`path`,{d:`M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12`}],[`path`,{d:`m7.83 7.83 8.34 8.34`}]]})),ta,na=n((()=>{ta=[[`path`,{d:`m18 16 4-4-4-4`}],[`path`,{d:`m6 8-4 4 4 4`}],[`path`,{d:`m14.5 4-5 16`}]]})),ra,ia=n((()=>{ra=[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`}],[`path`,{d:`M15 6h1v4`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`}],[`circle`,{cx:`16`,cy:`8`,r:`6`}]]})),aa,oa=n((()=>{aa=[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]]})),sa,ca=n((()=>{sa=[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`}],[`path`,{d:`m5.082 11.09 8.828 8.828`}]]})),la,ua=n((()=>{la=[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]]})),da,fa=n((()=>{da=[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`}]]})),pa,ma=n((()=>{pa=[[`path`,{d:`M12 7v14`}],[`path`,{d:`M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`}],[`path`,{d:`M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5`}],[`rect`,{x:`3`,y:`7`,width:`18`,height:`4`,rx:`1`}]]})),ha,ga=n((()=>{ha=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]]})),_a,va=n((()=>{_a=[[`circle`,{cx:`9`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`5`,r:`1`}],[`circle`,{cx:`9`,cy:`19`,r:`1`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`15`,cy:`5`,r:`1`}],[`circle`,{cx:`15`,cy:`19`,r:`1`}]]})),ya,ba=n((()=>{ya=[[`path`,{d:`M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17`}],[`path`,{d:`m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9`}],[`path`,{d:`m2 16 6 6`}],[`circle`,{cx:`16`,cy:`9`,r:`2.9`}],[`circle`,{cx:`6`,cy:`5`,r:`3`}]]})),xa,Sa=n((()=>{xa=[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]]})),Ca,wa=n((()=>{Ca=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`}]]})),Ta,Ea=n((()=>{Ta=[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}]]})),Da,Oa=n((()=>{Da=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]]})),ka,Aa=n((()=>{ka=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 9.9-1`}]]})),ja,Ma=n((()=>{ja=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`}]]})),Na,Pa=n((()=>{Na=[[`path`,{d:`M5 12h14`}]]})),Fa,Ia=n((()=>{Fa=[[`path`,{d:`M20.341 6.484A10 10 0 0 1 10.266 21.85`}],[`path`,{d:`M3.659 17.516A10 10 0 0 1 13.74 2.152`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]]})),La,Ra=n((()=>{La=[[`path`,{d:`M2 22h20`}],[`path`,{d:`M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z`}]]})),za,Ba=n((()=>{za=[[`path`,{d:`m17 2 4 4-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`}],[`path`,{d:`m7 22-4-4 4-4`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`}]]})),Va,Ha=n((()=>{Va=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}]]})),Ua,Wa=n((()=>{Ua=[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}]]})),Ga,Ka=n((()=>{Ga=[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}],[`path`,{d:`M20 2v4`}],[`path`,{d:`M22 4h-4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]]})),qa,Ja=n((()=>{qa=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M8 3H3v5`}],[`path`,{d:`M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3`}],[`path`,{d:`m15 9 6-6`}]]})),Ya,Xa=n((()=>{Ya=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`6`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]]})),Za,Qa=n((()=>{Za=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M13 5v2`}],[`path`,{d:`M13 17v2`}],[`path`,{d:`M13 11v2`}]]})),$a,eo=n((()=>{$a=[[`path`,{d:`M10 11v6`}],[`path`,{d:`M14 11v6`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]]})),to,no=n((()=>{to=[[`path`,{d:`M9 14 4 9l5-5`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`}]]})),ro,io=n((()=>{ro=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`}]]})),ao,oo=n((()=>{ao=[[`path`,{d:`M11 4.702a.7.7 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.7.7 0 0 0 11 19.298z`}],[`path`,{d:`m16.5 14.5 5-5`}],[`path`,{d:`m16.5 9.5 5 5`}]]})),so,co=n((()=>{so=[[`path`,{d:`M18 6 6 18`}],[`path`,{d:`m6 6 12 12`}]]})),lo,uo=n((()=>{lo=[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`}]]})),w=n((()=>{Ii(),Ri(),Bi(),Hi(),Wi(),Ki(),Ji(),Xi(),Qi(),ea(),na(),ia(),oa(),ca(),ua(),fa(),ma(),ga(),va(),ba(),Sa(),wa(),Ea(),Oa(),Aa(),Ma(),Pa(),Ia(),Ra(),Ba(),Ha(),Wa(),Ka(),Ja(),Xa(),Qa(),eo(),no(),io(),oo(),co(),uo()})),T,fo,E,D,po,O,k=n((()=>{T=(e,t)=>e+Math.random()*(t-e),fo=(e,t)=>Math.floor(T(e,t+1)),E=e=>e[Math.floor(Math.random()*e.length)],D=e=>e.map(e=>[Math.random(),e]).sort((e,t)=>e[0]-t[0]).map(([,e])=>e),po=(e,t)=>(e%t+t)%t,O=(e,t)=>Array.from({length:t-e+1},(t,n)=>e+n)}));function mo(e){let t=t=>{let n=[...new Set(e.flatMap(e=>yo(e,t).map(bo)))];return e.some(e=>!yo(e,t).length)?[...n,null]:n};return{small:t(`small`),big:t(`big`),jackpot:t(`jackpot`)}}function ho(e,t){if(t===`none`)return null;let n=yo(e,t);return n.length?bo(E(n)):null}function go(e,t,n){let r=e.filter(e=>{let r=yo(e,t);return n===null?!r.length:r.some(e=>bo(e)===n)});return r.length?r:e}async function _o(e,t,n){if(typeof e.variants==`function`)return e.variants(t);let r=yo(e,t);return r.find(e=>bo(e)===n)??(r.length?E(r):null)}var vo,yo,bo,xo,So,A=n((()=>{k(),vo=[`small`,`big`,`jackpot`],yo=(e,t)=>Array.isArray(e.variants)?e.variants.filter(e=>e.tier===t):[],bo=e=>e.short??e.label,xo=(e,t)=>O(0,t-1).map(n=>e[Math.floor(n*e.length/t)]),So=(e,t)=>`${e}:${t??``}`}));function Co(e){To=e}function wo(e){Do.value={game:e}}function j(e,t,n){let r=To[e];return r?r(t,n):n()}var To,Eo,Do,Oo,ko=n((()=>{Vt(),To={},Eo=Bt(!1),Do=Bt(void 0),Oo=Bt(0)}));function Ao(e,t){if(!t)return[];let n=2166136261;for(let t of`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}:dealer`)n=Math.imul(n^t.charCodeAt(0),16777619)>>>0;return Array.from({length:No},(e,r)=>{let i=Po+r*Fo+(n>>>r*8)%140;return{start:i,end:i+30+(n>>>r*5+3)%61,dealer:(n+r)%t}})}function jo(e,t){let n=e.getHours()*60+e.getMinutes();return Ao(e,t).find(e=>e.start<=n&&n<e.end)?.dealer??null}function Mo(e=new Date){let t=Io.value;Lo.value=t?j(`dealer`,{count:t},()=>jo(e,t)):null}var No,Po,Fo,Io,Lo,Ro=n((()=>{Vt(),ko(),No=3,Po=600,Fo=260,Io=Bt(0),Lo=Bt(null)}));function zo(e){let t=e%19,n=Math.floor(e/100),r=e%100,i=(19*t+n-Math.floor(n/4)-Math.floor((n-Math.floor((n+8)/25)+1)/3)+15)%30,a=(32+n%4*2+2*Math.floor(r/4)-i-r%4)%7,o=Math.floor((t+11*i+22*a)/451),s=Math.floor((i+a-7*o+114)/31),c=(i+a-7*o+114)%31+1;return new Date(e,s-1,c)}function Bo(e,t){let n=/^easter([+-]\d+)?$/.exec(e);if(n){let e=zo(t);return e.setDate(e.getDate()+Number(n[1]??0)),Go(e)}return e.length===5?`${t}-${e}`:e}function Vo(e=new Date){let t=Go(e),n=e.getFullYear();return Uo.find(({from:e,to:r=e})=>[n-1,n].some(n=>{let i=Bo(e,n),a=Bo(r,n);return a<i&&(a=Bo(r,n+1)),i<=t&&t<=a}))?.theme??null}var Ho,Uo,Wo,Go,Ko,qo,Jo,Yo,Xo=n((()=>{ko(),Ho=[`christmas`,`halloween`,`easter`,`august`],Uo=[{theme:`christmas`,from:`12-08`,to:`01-06`},{theme:`halloween`,from:`10-30`,to:`10-31`},{theme:`easter`,from:`easter-6`,to:`easter+1`},{theme:`august`,from:`08-01`,to:`08-31`}],Wo=e=>String(e).padStart(2,`0`),Go=e=>`${e.getFullYear()}-${Wo(e.getMonth()+1)}-${Wo(e.getDate())}`,Ko=()=>j(`theme`,{},()=>Vo()),qo={christmas:{lights:[`#ffe3a0`,`#fff4d6`,`#ff6b5e`,`#7fd6a0`,`#ffffff`,`#f6d27a`],confetti:[`#c8202f`,`#1c7a45`,`#fff4d6`,`#f3d488`,`#d4a94e`,`#ffffff`]},halloween:{lights:[`#ffb347`,`#ff8a2a`,`#c48bff`,`#ffe3a0`,`#9be36a`],confetti:[`#ff8a2a`,`#6b2fa0`,`#1b1210`,`#f3d488`,`#9be36a`]},easter:{lights:[`#fff4d6`,`#ffc8dd`,`#cdb4ff`,`#b8f0c8`,`#fff1a8`],confetti:[`#ffc8dd`,`#cdb4ff`,`#b8f0c8`,`#fff1a8`,`#a8dcff`,`#f3d488`]},august:{lights:[`#ffe3a0`,`#ffb36b`,`#6ee0d6`,`#ff8f8f`,`#fff4d6`],confetti:[`#ffd23f`,`#3ec1c9`,`#ff6f59`,`#ffffff`,`#f3d488`]}},Jo=(e,t)=>[{d:`M${e+3} 0L${e-1} 7M${e+6} 0L${e+4} 8M${e+15} 0L${e+19} 7M${e+17} 0L${e+22} 6`,stroke:`#6b4220`,width:1.6},{d:`M${e} -4a10 4.5 0 1 0 20 0a10 4.5 0 1 0 -20 0M${e+17} -6L${e+23} -13L${e+26} -11L${e+20} -3Z`,fill:`#8a5a2b`},{d:`M${e+23} -13a4 2.6 0 1 0 8 0a4 2.6 0 1 0 -8 0`,fill:`#9a6634`},{d:`M${e+24} -15L${e+22} -21M${e+23} -18L${e+20} -19M${e+26} -15L${e+27} -21M${e+26.5} -18L${e+29} -20`,stroke:`#e6c79a`,width:1},{d:`M${e+29.5} -13a1.8 1.8 0 1 0 3.6 0a1.8 1.8 0 1 0 -3.6 0`,fill:t?`#ff3b3b`:`#3a2010`,glow:t}],Yo=[{d:`M10 -8L38 -6M10 -8L68 -6`,stroke:`#f3d488`,width:.8},...Jo(30,!1),...Jo(60,!0),{d:`M-19 -12a7 7 0 1 0 14 0a7 7 0 1 0 -14 0`,fill:`#7a4a22`},{d:`M-9 -9a7 7 0 1 0 14 0a7 7 0 1 0 -14 0`,fill:`#c8202f`},{d:`M2 -11L10 -8`,stroke:`#c8202f`,width:3},{d:`M-4 -19a4 4 0 1 0 8 0a4 4 0 1 0 -8 0`,fill:`#f2c9a0`},{d:`M-4.5 -18Q0 -9 4.5 -18Z`,fill:`#fffaf0`},{d:`M-4.5 -21Q0 -28 4.5 -21ZM-2 -25L-9 -27L-3 -22Z`,fill:`#c8202f`},{d:`M-4.8 -22.4h9.6v2.2h-9.6zM-11 -27a1.7 1.7 0 1 0 3.4 0a1.7 1.7 0 1 0 -3.4 0`,fill:`#fffaf0`},{d:`M-18 -6Q-20 -14 -15 -14L-12 -10L12 -6Q20 -4 18 4L-14 4Q-18 4 -18 -6Z`,fill:`#9e1b22`,stroke:`#d4a94e`,width:1.2},{d:`M-20 10L16 10Q24 10 22 4M-10 4v6M8 4v6`,stroke:`#d4a94e`,width:2}]}));function Zo(e=1,t=Math.random()){return t<e*rs.jackpot?`jackpot`:t<e*(rs.jackpot+rs.big)?`big`:t<e*(rs.jackpot+rs.big+rs.small)?`small`:`none`}function Qo(e=new Date){let t=2166136261;for(let n of`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}`)t=Math.imul(t^n.charCodeAt(0),16777619)>>>0;return{game:es[t%es.length],multiplier:2+(t>>>8)%4,ticket:t>>>16&1?`forever`:`double`,machine:t>>>20&1?`breakaway`:`takeoff`}}function $o(){let e=Qo().game;return es.filter(e=>M(e)>1).sort((t,n)=>M(n)-M(t)||Number(n===e)-Number(t===e))[0]}var es,ts,ns,rs,is,as,os,ss,M,cs,ls,us,ds,N=n((()=>{Ro(),k(),ko(),es=[`wheel`,`slot`,`roulette`,`pachinko`,`scratch`],ts=[`blackjack`,`holdem`],ns=[...es,...ts],rs={jackpot:1/150,big:1/60,small:1/30},is=[`none`,`small`,`big`,`jackpot`],as=[`double`,`forever`],os=[`takeoff`,`breakaway`],ss=(e,t=new Date)=>{let n=Qo(t);return n.game===e?n.multiplier:1},M=e=>j(`boost`,{game:e},()=>ts.includes(e)?Lo.value===null?1:2:ss(e)),cs=(e,t)=>j(`tier`,{game:e,boost:t},()=>Zo(t)),ls=(e,t)=>j(`prize`,{game:e,prizeIds:t},()=>E(t)),us=()=>j(`slot.machine`,{},()=>Qo().machine),ds=()=>j(`scratch.ticket`,{},()=>Qo().ticket)})),fs,ps,ms,hs=n((()=>{Mn(),fs=yn(Symbol(`fl-room`)),ps=[`#9e1b22`,`#1d3561`,`#1c6136`,`#5b2a6e`,`#7a5418`],ms=e=>ps[e%ps.length]})),P,gs,F=n((()=>{P=()=>matchMedia(`(prefers-reduced-motion: reduce)`).matches,gs=e=>new Promise(t=>setTimeout(t,e))}));function _s(e,t=1){if(P())return;let n=6*t;e.animate([{transform:`translate(0, 0)`},{transform:`translate(${-n}px, ${n*.5}px) rotate(-0.4deg)`},{transform:`translate(${n*.8}px, ${-n*.4}px) rotate(0.3deg)`},{transform:`translate(${-n*.3}px, ${n*.2}px)`},{transform:`translate(0, 0)`}],{duration:240,easing:`linear`})}function vs(e,t,n=1,r=3){return[{R:210,r:58,d:96,turns:29},{R:150,r:42,d:64,turns:21},{R:300,r:77,d:130,turns:77}].slice(0,r).map(({R:r,r:i,d:a,turns:o})=>{let s=[];for(let c=0;c<=2400;c++){let l=c/2400*Math.PI*2*o,u=(r-i)*Math.cos(l)+a*Math.cos((r-i)/i*l),d=(r-i)*Math.sin(l)-a*Math.sin((r-i)/i*l);s.push(`${(e+u*n).toFixed(1)},${(t+d*n).toFixed(1)}`)}return s.join(` `)})}var ys,bs,I,xs=n((()=>{k(),F(),ys=[`#f3d488`,`#d4a94e`,`#fff4d6`,`#1f7a45`,`#8e1f2a`,`#c79a3e`],bs=[`#fff4d6`,`#ffe3a0`,`#f3d488`],I={canvas:null,particles:[],confetti:void 0,running:!1,last:0,attach(e){if(this.canvas=e,this.particles=[],!e)return;let t=Math.min(2,devicePixelRatio);e.width=innerWidth*t,e.height=innerHeight*t,e.getContext(`2d`).setTransform(t,0,0,t,0,0)},burst(e,t,{count:n=60,colors:r,speed:i=520,spread:a=Math.PI*2,angle:o=-Math.PI/2,type:s=`strip`,gravity:c=900,life:l=1.8}={}){if(this.canvas&&!P()){for(let u=0;u<n;u++){let n=o+T(-a/2,a/2),u=i*T(.35,1);this.particles.push({x:e,y:t,type:s,gravity:c,vx:Math.cos(n)*u,vy:Math.sin(n)*u,rotation:T(0,Math.PI*2),spin:T(-9,9),flip:T(0,Math.PI*2),flipSpeed:T(6,14),width:s===`flake`?T(1.5,3.5):T(5,10),height:s===`flake`?T(1.5,3):T(9,16),color:E(r??this.confetti??ys),age:0,life:l*T(.6,1)})}this.running||(this.running=!0,this.last=performance.now(),requestAnimationFrame(e=>this.frame(e)))}},fountain(e){let t=performance.now(),n=()=>{this.canvas&&(this.burst(T(innerWidth*.1,innerWidth*.9),innerHeight+10,{count:14,speed:1150,spread:.5,life:2.6}),performance.now()-t<e&&setTimeout(n,90))};n()},cannons(e){let t=performance.now(),n=()=>{this.canvas&&(this.burst(0,innerHeight,{count:26,speed:1350,spread:.45,angle:-Math.PI/3,life:3.2,gravity:700}),this.burst(innerWidth,innerHeight,{count:26,speed:1350,spread:.45,angle:-2*Math.PI/3,life:3.2,gravity:700}),performance.now()-t<e&&setTimeout(n,280))};n()},frame(e){let t=this.canvas;if(!t){this.running=!1;return}let n=t.getContext(`2d`),r=Math.min(.05,(e-this.last)/1e3);this.last=e,n.clearRect(0,0,innerWidth,innerHeight),this.particles=this.particles.filter(e=>(e.age+=r)<e.life&&e.y<innerHeight+40);for(let e of this.particles){let t=e.type===`strip`?.985:.97;e.vx*=t,e.vy=e.vy*t+e.gravity*r,e.x+=e.vx*r,e.y+=e.vy*r,e.rotation+=e.spin*r,e.flip+=e.flipSpeed*r,n.save(),n.globalAlpha=1-Math.max(0,(e.age-e.life*.7)/(e.life*.3)),e.type===`spark`?(n.globalCompositeOperation=`lighter`,n.strokeStyle=e.color,n.lineWidth=2,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(e.x-e.vx*.03,e.y-e.vy*.03),n.stroke()):(n.translate(e.x,e.y),n.rotate(e.rotation),n.scale(1,Math.cos(e.flip)),n.fillStyle=e.color,n.fillRect(-e.width/2,-e.height/2,e.width,e.height)),n.restore()}this.particles.length?requestAnimationFrame(e=>this.frame(e)):(this.running=!1,n.clearRect(0,0,innerWidth,innerHeight))}}}));function L(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var R=n((()=>{})),z,B=n((()=>{Mn(),v(),C(),hs(),R(),z=class extends Kr{constructor(...e){super(...e),this.timers=new Set,this.unsubscribes=[],this.watched=[]}createRenderRoot(){return this}t(e,t){return this.room.t(e,t)}watch(...e){this.watched.push(...e),this.isConnected&&this.unsubscribes.push(...e.map(e=>e.subscribe(()=>this.requestUpdate())))}later(e,t){let n=setTimeout(()=>{this.timers.delete(n),e()},t);return this.timers.add(n),n}connectedCallback(){super.connectedCallback(),this.style.display=`contents`,this.unsubscribes=this.watched.map(e=>e.subscribe(()=>this.requestUpdate()))}disconnectedCallback(){super.disconnectedCallback(),this.timers.forEach(clearTimeout),this.timers.clear(),this.unsubscribes.forEach(e=>e()),this.unsubscribes=[]}},L([An({context:fs,subscribe:!0}),x()],z.prototype,`room`,void 0)})),Ss,Cs=n((()=>{Wr(),fi(),Ss=class extends di{constructor(e){if(super(e),this.it=_,e.type!==li.CHILD)throw Error(this.constructor.directiveName+`() can only be used in child bindings`)}render(e){if(e===_||e==null)return this._t=void 0,this.it=e;if(e===kr)return e;if(typeof e!=`string`)throw Error(this.constructor.directiveName+`() called with a non-string value`);if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}},Ss.directiveName=`unsafeHTML`,Ss.resultType=1,ui(Ss)})),ws,Ts,Es=n((()=>{fi(),Cs(),ws=class extends Ss{},ws.directiveName=`unsafeSVG`,ws.resultType=2,Ts=ui(ws)})),Ds=n((()=>{Es()}));function V(e,t=``){let n=e.map(([e,t])=>`<${e} ${Object.entries(t).map(([e,t])=>`${e}="${Os(t)}"`).join(` `)}/>`).join(``);return g`<svg class="fl-icon ${t}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${Ts(n)}</svg>`}var Os,H=n((()=>{v(),Ds(),Os=e=>String(e).replace(/[&<>"]/g,e=>`&#${e.charCodeAt(0)};`)})),U,ks=n((()=>{k(),U={enabled:!1,context:null,output:null,last:{},enable(e){if(this.enabled=e,!e)return;if(this.context){this.context.resume();return}this.context=new AudioContext;let t=this.context.createDynamicsCompressor();t.threshold.value=-18,t.ratio.value=4,this.output=this.context.createGain(),this.output.gain.value=.7,this.output.connect(t).connect(this.context.destination)},partial(e,t,n,r){let i=this.context,a=i.createOscillator(),o=i.createGain();return a.frequency.value=e,o.gain.setValueAtTime(0,t),o.gain.linearRampToValueAtTime(r,t+.004),o.gain.exponentialRampToValueAtTime(1e-4,t+n),a.connect(o).connect(this.output),a.start(t),a.stop(t+n+.02),a},noise(e,t,n,r,i=r,a=1.2){let o=this.context,s=Math.ceil(o.sampleRate*t),c=o.createBuffer(1,s,o.sampleRate),l=c.getChannelData(0);for(let e=0;e<s;e++)l[e]=(Math.random()*2-1)*(1-e/s)**2;let u=o.createBufferSource(),d=o.createBiquadFilter(),f=o.createGain();u.buffer=c,d.type=`bandpass`,d.Q.value=a,d.frequency.setValueAtTime(r,e),d.frequency.exponentialRampToValueAtTime(i,e+t),f.gain.value=n,u.connect(d).connect(f).connect(this.output),u.start(e)},play(e,t=1,n=1){if(!this.enabled||!this.context)return;let r=this.context.currentTime;if(r-(this.last[e]??-1)<.03)return;this.last[e]=r;let i=e=>e*T(.97,1.03),a=(e,t,n,i,a,o=[1,2.76])=>t.forEach((t,s)=>o.forEach((o,c)=>this.partial(e*2**(t/12)*o,r+s*n,i,c?a/4:a)));switch(e){case`tick`:this.partial(i(2100*t),r,.05,.18*n),this.noise(r,.03,.25*n,5200);break;case`reel`:this.partial(i(760),r,.06,.06*n);break;case`stop`:this.partial(150,r,.22,.5*n).frequency.exponentialRampToValueAtTime(62,r+.18),this.partial(620,r,.06,.12*n);break;case`whoosh`:this.noise(r,.5,.35*n,300,2600,.8);break;case`bounce`:this.partial(i(2637*t),r,.35,.12*n),this.partial(i(2637*t*2.76),r,.18,.04*n);break;case`chime`:[1,2.76,5.4].forEach((e,a)=>this.partial(i(1046*t*e),r,1.4/(a+1),.16/(a+1)*n));break;case`win`:a(523,[0,4,7,12,16],.09,1.1,.12);break;case`jackpot`:a(392,[0,4,7,12,16,19,24],.11,1.8,.13,[1,2.76,5.4]),this.noise(r,1.2,.2,400,6e3,.6);break;case`stamp`:this.partial(120,r,.3,.7).frequency.exponentialRampToValueAtTime(48,r+.25),this.noise(r,.08,.5,1800,600);break;case`scratch`:this.noise(r,.06,.12*n,3200*t,2400*t,2);break;case`lever`:this.noise(r,.25,.3,1900,700,3),this.partial(170,r,.2,.35);break;case`thunder`:this.noise(r,.09,.9*n,6e3,1200,.7),this.noise(r+.02,.35,.35*n,2400,300,1.5),this.noise(r+.05,1.6,.8*n,180,45,.9);break;case`dealer`:for(let e=0;e<7;e++)this.noise(r+e*.035,.03,.12*n,4200-e*180,2600,2.5);a(659,[0,7],.12,1.2,.07,[1,2.76]);break;case`ambient`:a(E([392,440,523,587,659])*E([1,2]),E([[0,4,7],[0,7,12],[0,4,7,12],[12,7,4,0]]),.085,.7,.018,[1]),Math.random()<.4&&this.noise(r+.3,.12,.05,4200,3e3,3)}}}})),As=n((()=>{}));function js(e){let t=0,n=0;return Fs.flatMap(r=>[r===`small`||r===`pale`?{kind:`small`,award:e.small[t++%e.small.length],pale:r===`pale`}:r===`big`?{kind:`big`,award:e.big[n++%e.big.length]}:{kind:r},{kind:`none`}])}function Ms(e,t){return t===`jackpot`?{index:Rs(e,e=>e.kind===`jackpot`)[0],bonus:!1}:t===`none`?{index:E(Rs(e,e=>e.kind===`none`)),bonus:!1}:Math.random()<Is?{index:E(Rs(e,Ls)),bonus:!0}:{index:E(Rs(e,e=>e.kind===t)),bonus:!1}}function Ns(e,t,n,r=Math.random()){let{small:i,big:a,jackpot:o}=rs,s=t=>e.filter(t).length,c=e=>{if(e.kind===`jackpot`)return o;if(Ls(e))return Is*(i+a)/s(Ls);if(e.kind===`small`||e.kind===`big`){let t=e.kind;return .6*rs[t]/s(e=>e.kind===t)}return 0},l=e.map(e=>c(e)*(zs(e)===t?n:1)),u=(1-l.reduce((e,t)=>e+t,0))/s(e=>e.kind===`none`),d=r,f=e.findIndex((e,t)=>(d-=e.kind===`none`?u:l[t])<0),p=e[f];return Ls(p)?{index:f,tier:Math.random()<i/(i+a)?`small`:`big`}:{index:f,tier:p.kind}}function Ps(e,t){let n=t.kind===`small`||t.kind===`big`?go(e,t.kind,t.award):e,r=ls(`wheel`,n.map(e=>e.id));return e.find(e=>e.id===r)??n[0]}var Fs,Is,Ls,Rs,zs,Bs,Vs=n((()=>{A(),k(),N(),Fs=`jackpot.small.big.coin.pale.small.hunt.big.small.pachinko.pale.small.coin.big.pale.small.hunt.big.small.coin.pale.big.pachinko.small.pale.coin.small`.split(`.`),Is=.4,Ls=e=>e.kind===`coin`||e.kind===`hunt`||e.kind===`pachinko`,Rs=(e,t)=>e.flatMap((e,n)=>t(e)?[n]:[]),zs=e=>e.kind===`small`||e.kind===`big`?So(e.kind,e.award):e.kind,Bs=e=>[...new Set(e.filter(e=>e.kind!==`none`).map(zs))]})),Hs,Us=n((()=>{v(),Hs=(e,t,n=!1)=>h`
|
|
1
|
+
var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=Object.defineProperty,n=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(e){throw n=[e],e}},r=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r};async function i(e){let[t,n,r,i,o,s,c,l]=await Promise.all([a(e.prizes),e.locale===void 0?void 0:a(e.locale),e.messages===void 0?{}:a(e.messages),e.player===void 0?null:a(e.player),e.developer!==void 0&&a(e.developer),e.logo===void 0?void 0:a(e.logo),e.dealers===void 0?void 0:a(e.dealers),e.multiplayer===void 0?void 0:a(e.multiplayer)]);if(!t.length)throw Error(`feeling-lucky: at least one prize is needed`);return{prizes:t,locale:n,messages:r,player:i,logo:s,dealers:c,developer:o===!1?null:{passwordHash:o===!0?void 0:o.passwordHash},multiplayer:typeof l==`string`?{url:l}:l,onWin:e.onWin,onClaim:e.onClaim}}var a,o=n((()=>{a=async e=>typeof e==`function`?e():e}));function s(...e){let t={};for(let n of e)for(let[e,r]of Object.entries(n)){let n=t[e];t[e]=typeof r==`object`&&typeof n==`object`?s(n,r):r}return t}var c=n((()=>{})),l,u=n((()=>{l={games:{blackjack:{name:`Blackjack`,summary:`Beat the dealer without going over 21`,rules:`Place up to 5 chips of one prize on the circle in front of your seat: every chip is of the first one's prize. Then beat the dealer without going over 21; the dealer stands on 17. On your first two cards you can double, with a second stack of chips and one card only, or split two cards of the same value into two hands with a stack each; after a split the best hand counts, split aces take one card each. Winning the hand pays the chips' prize: a small prize, a big prize with a dealt blackjack, an ace with a ten or a picture card. The blackjack of spades, ace and jack of spades, is the jackpot.`},holdem:{name:`Texas Hold'em`,summary:`The best hand against the dealer`,rules:`You and the dealer get two cards, then the three of the flop come out: call or fold. If you call, turn and river follow and the best five-card hand wins. Winning with a high card, a pair, two pair or three of a kind pays a small prize, with a straight or better a big prize; the royal flush is the jackpot. Folding loses the hand.`}},cards:{you:`You`,dealer:`Dealer`,deal:`Deal`,player:`Player`,stand:`Stand up`,sit:`Sit here`,chooseSeat:`Choose a seat`,dealingIn:`Dealing in {seconds}s`,playIn:`{seconds}s to play`,nextHand:`You're in from the next hand`},blackjack:{print:`Dealer stands on 17 · Blackjack of spades: jackpot`,hit:`Hit`,stand:`Stand`,double:`Double`,split:`Split`,bet:`Place a {prize} chip`,result:{bust:`Bust`,lose:`Dealer wins`,win:`You beat the dealer`,dealerBust:`Dealer busts`,natural:`Blackjack!`,spades:`Blackjack of spades!`}},holdem:{print:`The dealer plays every hand · Royal flush: jackpot`,call:`Call`,fold:`Fold`,hands:{highCard:`High card`,pair:`Pair`,twoPair:`Two pair`,trips:`Three of a kind`,straight:`Straight`,flush:`Flush`,fullHouse:`Full house`,quads:`Four of a kind`,straightFlush:`Straight flush`,royalFlush:`Royal flush`},result:{folded:`You folded`,won:`You win with {hand}`,lost:`Dealer wins with {hand}`,split:`Split`}},detail:{blackjack:{win:`hand won`,dealerBust:`dealer bust`,natural:`dealt blackjack`,spades:`blackjack of spades`},holdem:`won with {hand}`}}})),d,f=n((()=>{d={developer:{title:`Developer controls`,restore:`Open developer controls`,minimize:`Minimize to icon`,close:`Close developer controls`,password:`Password`,unlock:`Unlock`,wrongPassword:`Wrong password.`,hint:`Ctrl+Shift+L opens and closes this panel. Theme and language change at once; game settings apply when the game restarts.`,game:`Game`,multiplier:`Multiplier`,daily:`Daily value`,result:`Result`,automatic:`Automatic`,loss:`Loss`,win:`Win`,jackpot:`Jackpot`,decidedBy:`The advanced setting “{field}” decides the result.`,advanced:`Advanced`,field:{segment:`Segment`,prize:`Prize`,combination:`Combination`,number:`Number`,violet:`Violet orb`,pocket:`Pocket`,award:`Variant`,storm:`Storm number`,booster:`Booster segment`},option:{nothing:`Nothing`,award:`{tier} · {award}`,pair:`Pair of logos`,logos:`Three logos`,sevens:`Three sevens`,infinities:`Three infinities`,hit:`Hit`,miss:`Missed`,pocket:`Pocket {n}`,lands:`Lands`,misses:`Misses`},about:{roulette:`The chosen number always comes out. With a forced result, or a storm number to land on or to miss, the number comes out among those the bets on the table allow; if none does, the draw is normal. With a multiplier the roulette turns into Storm Roulette.`,pachinko:`The violet orb exists only on the coloured Pachinko, with a multiplier. There the prize depends on the reds hit: with the jackpot the reds line up along the fall and the ball takes them all.`,wheel:`With a multiplier the Booster picks a kind of segment that comes out more often: here you choose which. The chosen segment still decides where the wheel stops.`,slot:`Normally the slot is the classic one. On the bonus day the slot of the day takes its place, Takeoff or Breakaway, drawn from the date: it can be set here along with the multiplier. The drawn result is the most one can reach.`,scratch:`Normally the ticket is the classic one. On the bonus day the ticket of the day takes its place, one of the two numbers tickets drawn from the date: it can be set here along with the multiplier. A variant chosen without a prize goes to a prize that pays it.`,blackjack:`The shoe stages the drawn result whatever the player decides: with Win the hand is won, with Jackpot the blackjack of spades comes.`,holdem:`The cards are chosen among those that give the drawn result: with Win you win if you call, with Jackpot the royal flush comes. Folding loses the hand all the same.`},reset:`Reset all games`,apply:`Apply and restart game`,variant:{scratch:`Ticket of the day`,slot:`Slot of the day`},theme:`Room theme`,calendar:`From the calendar`,noTheme:`None`,language:`Language`,autoLanguage:`Automatic`,tables:`Card tables`,multiplayer:`Multiplayer`,singlePlayer:`Single player`,dealer:`Dealer`,dealerShifts:`From the day's shifts`,dealerAbsent:`Absent`,dealerNumber:`Dealer {n}`}}})),p,m=n((()=>{p={games:{pachinko:{name:`Pachinko`,summary:`The pocket decides the prize`,rules:`Choose the prize and where to drop the ball: the pocket decides what you win, a small prize or a big one; the middle pocket is the jackpot. Pockets with a dash pay nothing.`,bonusRules:`Grand Wheel bonus: the prize stays {prize}. Choose where to drop the ball, the pocket shows what you win.`}},pachinko:{launch:`Drop the ball`,hint:`Move the mouse over the board to choose where it falls, then click. Arrow keys and the space bar work too.`,redHits:`Red pegs hit`,powerOn:`Violet activated`,powerOff:`Hit the violet peg`,chance:`Win probability`,detail:`Pachinko · coloured pegs`,colorRules:`Pockets with a dash pay nothing; the others climb with every red hit, from a small prize up to a big one. With all 8 reds the middle pocket is the jackpot. The violet orb multiplies the day’s odds once more.`,fever:`Gold fever`,feverTitle:`ALL REDS CLEARED!`},detail:{pachinko:`winning pocket`}}})),ee,te=n((()=>{ee={title:`Feeling lucky`,room:`Games room`,backToOverview:`Back to overview`,backToGames:`Back to the games`,soundOn:`Sound on`,soundOff:`Sound off`,rules:`Rules`,chips:`Chip prize`,ticker:{1:`Feeling lucky`,2:`Grand Wheel: the jackpot is on the wheel`,3:`Three ∞ on the line: jackpot`,4:`A roulette straight-up is worth the jackpot`,5:`Three matching logos under the foil`,6:`The middle Pachinko pocket pays the jackpot`},win:{title:`You won`,jackpot:`Jackpot`},tier:{small:`Small win`,big:`Big win`,jackpot:`Jackpot`,symbol:{small:`★`,big:`★★`,jackpot:`★★★`}},boost:{badge:`×{n}`,title:`Bonus of the day`,odds:`Bonus of the day: wins {n} times as likely`,dealer:`Dealer at the table`,dealerOdds:`Dealer at the table: wins {n} times as likely`},themes:{christmas:{name:`Christmas`,greeting:`Season's greetings: a prize under the tree`},halloween:{name:`Halloween`,greeting:`Trick or prize?`},easter:{name:`Easter`,greeting:`Happy Easter: what's inside the egg?`},august:{name:`August`,greeting:`Happy summer holidays from the room`}},lobby:{games:`Games room`,private:`Salon Privé`,privateLine:`Reserved tables`,pager:`Rooms`},chipCount:{hint:`Place up to {n} chips`,left:`{n} chips left`,leftOne:`1 chip left`,none:`No chips left`},cert:{title:`Prize won`,prize:`Prize`,variant:`Variant`,fullPrize:`The whole prize`,wonOn:`Won on`,notClaimed:`Not claimed`,claimed:`Claimed`,claim:`Claim prize`,claiming:`Claiming…`,claimFailed:`The prize could not be claimed. Try again.`,seal:`FEELING LUCKY · PRIZE WON ·`,sealClaimed:`CLAIMED · FEELING LUCKY ·`,again:`Play {game} again`,otherGame:`Change game`}}})),ne,re=n((()=>{ne={games:{roulette:{name:`Roulette`,summary:`Place your chips, then throw the ball`,rules:`Place up to {n} chips of one prize, on the table or with Nassa, Orphelins and Tiers, which lay them on their straight-ups and splits: every chip is of the first one's prize. A straight-up wins the jackpot; split, street, corner and six line a big prize; columns, dozens and even-money bets a small prize. When several bets win the best one counts.`}},roulette:{launch:`Throw the ball`,clear:`Take back the chips`,table:`Table`,call:{made:`Les jeux sont faits`,closed:`Rien ne va plus`},board:{column:`2 to 1`,dozen1:`1st 12`,dozen2:`2nd 12`,dozen3:`3rd 12`,low:`1–18`,even:`Even`,odd:`Odd`,high:`19–36`},kind:{straight:`Straight-up {numbers}`,split:`Split {numbers}`,street:`Street {numbers}`,corner:`Corner {numbers}`,line:`Six line {numbers}`},spot:{column:{1:`Column 1-34`,2:`Column 2-35`,3:`Column 3-36`},dozen:{1:`First dozen`,2:`Second dozen`,3:`Third dozen`},chance:{low:`1 to 18`,even:`Even`,red:`Red`,black:`Black`,odd:`Odd`,high:`19 to 36`}},track:`Announced bets`,announced:{nassa:`Nassa`,orphans:`Orphelins`,tiers:`Tiers`,cost:`{n} chips`,label:`{name}, {n} chips`},surface:`Where to bet`,storm:{title:`Storm`,rules:`Storm Roulette, the bonus of the day. Lay up to {n} chips as on the roulette; at every throw, once the bets are closed, lightning strikes 3 numbers that come out {m} times as often. A straight-up wins the jackpot, splits, streets, corners and six lines a big prize, columns, dozens and even chances a small prize.`,odds:`Land {n}× as often`,numbers:`Lightning numbers`},undo:`Remove last chip`,rebet:`Repeat the bet`},detail:{roulette:`number {n}`,storm:`lightning number {n}`}}})),ie,ae=n((()=>{ie={games:{scratch:{name:`Scratch card`,summary:`Three matching logos`,rules:`Three matching logos win that prize; the strip at the bottom says what it pays, up to the jackpot.`}},scratch:{title:`Scratch the prize`,rule:`Three matching logos win the prize. The strip at the bottom says what it pays.`,award:`you win`,series:`FEELING LUCKY · FORTUNE SERIES`,watermark:`LUCKY`,revealAll:`Scratch all`,newTicket:`New ticket`,hint:`Scratch with the mouse or a finger`,locked:`Scratch it with three matching logos`,prize:`PRIZE`,winningNumbers:`WINNING NUMBERS`,yourNumbers:`YOUR NUMBERS`,game:`GAME {n}`,topPrize:`TOP PRIZE: THE JACKPOT`,double:{first:`DOUBLE`,second:`LUCK`,tagline:`2 ways to play!`,rules:`Two ways to win: a winning number among your numbers wins the prize under it; three equal prizes win that prize. Logos have no prize under them: three matching logos win the jackpot.`},forever:{first:`FOR`,middle:`∞`,second:`EVER`,jackpot:`3 matching logos: the jackpot`,pairRule:`Two equal prizes win that prize`,rules:`Game 1: a winning number among your numbers wins the prize under it; logos have no prize under them, but three matching logos win the jackpot. Game 2: two equal prizes win that prize.`},names:{double:`Double Luck`,forever:`Forever`},dayRules:`Ticket of the day: winning tickets come out {n} times as often.`},detail:{scratch:{small:`three matching logos`,big:`three matching logos`,jackpot:`three matching logos`,match:`winning number`,three:`three equal prizes`,pair:`two equal prizes`,logos:`three matching logos`}}}})),oe,se=n((()=>{oe={games:{slot:{name:`Slot`,summary:`Three symbols on the line`,rules:`Two matching prizes on the line: a small prize. Three prizes or three 7s: a big prize. Three ∞: the jackpot.`}},slot:{sign:`JACKPOT`,ready:`Pull the lever`,spinning:`Reels spinning…`,line:`On the line`,spin:`Spin the reels`,lever:`Pull the lever`,result:{none:`No combination`,small:`Pair on the line`,big:`Three of a kind`,jackpot:`Three ∞`},names:{takeoff:`Takeoff`,breakaway:`Breakaway`},takeoff:{rules:`Flight of the day: wins come out {n} times as often. The plane takes off and the multiplier climbs: cash out before it flies away. From ×2 you win a small prize, from ×10 a big prize, at ×50 the jackpot: the longer you wait, the bigger the prize.`,start:`Take off`,again:`New flight`,cashOut:`Cash out {prize}`,cashFrom:`Cash out from ×{m}`,ready:`Ready for takeoff`,gone:`Flew away!`,cashed:`Cashed out at ×{m}: {prize}`,hint:`Cash out whenever you like: if the plane flies away first, you win nothing`},breakaway:{rules:`Match of the day: wins come out {n} times as often. Move toward the goal choosing a square in each column: one hides the defender. Each column cleared raises the prize and you can cash out whenever you like; in front of the goal, shoot: the goal wins what you collected, up to the jackpot.`,pick:`Choose a square in column {n}`,shoot:`Choose where to shoot`,tackled:`Tackled! The prize collected is lost`,goal:`GOAL!`,again:`New match`,cashOut:`Cash out {prize}`,cashFrom:`Cash out from column {n}`,square:`Column {column}, square {row}`,zone:`Shoot at zone {n}`}},detail:{slot:{small:`pair on the line`,big:`three of a kind`,jackpot:`three ∞`,takeoff:`cashed out at ×{m}`,breakaway:`{n} columns cleared`,goal:`goal`}}}})),ce,le=n((()=>{ce={games:{wheel:{name:`Grand Wheel`,summary:`Booster: prize · Wheel: win`,rules:`The Booster picks the prize, the wheel what you win: a small prize or a big prize. Heads or Tails, Prize Hunt and Pachinko reveal the win; Grand Wheel is the jackpot.`}},wheel:{booster:`BOOSTER`,spin:`Spin the wheel`,hint:`Or grab the wheel and fling it; zoom on the wheel for a close-up`,segment:{coin:`HEADS OR TAILS`,hunt:`PRIZE HUNT`,pachinko:`PACHINKO`,jackpot:`GRAND WHEEL`},pachinkoTitle:`Pachinko bonus`,pachinkoText:`The ball decides the win. The prize stays {prize}.`,toPachinko:`Go to Pachinko`,boosterRules:`Booster of the day: at every spin the Booster also picks a kind of segment, which comes out {n} times as often. The Booster picks the prize, the wheel what you win: a small prize or a big prize. Heads or Tails, Prize Hunt and Pachinko reveal the win; Grand Wheel is the jackpot.`},coin:{text:`Gold or ruby: the coin picks the win.`,gold:`gold`,ruby:`ruby`,flip:`Flip the coin`},hunt:{text:`Eighteen tiles, a win under each. Pick one.`,tile:`Tile {n}`},detail:{wheel:{small:`winning segment`,big:`winning segment`,jackpot:`jackpot segment`,coin:`Heads or Tails`,hunt:`Prize Hunt`,pachinko:`Pachinko bonus`}}}})),ue,de=n((()=>{c(),u(),f(),m(),te(),re(),ae(),se(),le(),ue=s(ee,ce,oe,ne,p,ie,l,d)})),fe,pe=n((()=>{fe={games:{blackjack:{name:`Blackjack`,summary:`Batti il banco senza superare 21`,rules:`Punta fino a 5 fiches di un premio nel cerchio davanti al tuo posto: tutte le fiches sono del premio della prima. Poi batti il banco senza superare 21; il banco sta su 17. Sulle prime due carte puoi raddoppiare, con una seconda pila di fiches e una sola carta, o dividere due carte dello stesso valore in due mani con una pila ciascuna; dividendo conta la mano migliore, gli assi divisi ricevono una carta sola. Vincere la mano vale il premio delle fiches: un premio piccolo, un premio grande con il blackjack servito, asso e dieci o figura. Il blackjack di picche, asso e jack di picche, è il jackpot.`},holdem:{name:`Texas Hold'em`,summary:`La mano migliore contro il banco`,rules:`Tu e il banco ricevete due carte, poi escono le tre del flop: vedi o lascia. Se vedi escono turn e river e vince la mano migliore di cinque carte. Vincere con carta alta, coppia, doppia coppia o tris vale un premio piccolo, con una scala o più un premio grande; la scala reale è il jackpot. Se lasci, la mano è persa.`}},cards:{you:`Tu`,dealer:`Banco`,deal:`Distribuisci`,player:`Giocatore`,stand:`Alzati dal tavolo`,sit:`Siediti qui`,chooseSeat:`Scegli dove sederti`,dealingIn:`Si distribuisce tra {seconds}s`,playIn:`{seconds}s per giocare`,nextHand:`Giochi dalla prossima mano`},blackjack:{print:`Il banco sta su 17 · Blackjack di picche: jackpot`,hit:`Carta`,stand:`Stai`,double:`Raddoppia`,split:`Dividi`,bet:`Punta una fiche di {prize}`,result:{bust:`Sballato`,lose:`Vince il banco`,win:`Hai battuto il banco`,dealerBust:`Il banco sballa`,natural:`Blackjack!`,spades:`Blackjack di picche!`}},holdem:{print:`Il banco gioca ogni mano · Scala reale: jackpot`,call:`Vedi`,fold:`Lascia`,hands:{highCard:`Carta alta`,pair:`Coppia`,twoPair:`Doppia coppia`,trips:`Tris`,straight:`Scala`,flush:`Colore`,fullHouse:`Full`,quads:`Poker`,straightFlush:`Scala colore`,royalFlush:`Scala reale`},result:{folded:`Hai lasciato la mano`,won:`Vinci con {hand}`,lost:`Il banco vince con {hand}`,split:`Pareggio`}},detail:{blackjack:{win:`mano vinta`,dealerBust:`banco sballato`,natural:`blackjack servito`,spades:`blackjack di picche`},holdem:`vinto con {hand}`}}})),me,he=n((()=>{me={developer:{title:`Controlli sviluppatore`,restore:`Apri controlli sviluppatore`,minimize:`Riduci a icona`,close:`Chiudi controlli sviluppatore`,password:`Password`,unlock:`Sblocca`,wrongPassword:`Password errata.`,hint:`Ctrl+Shift+L apre e chiude il pannello. Tema e lingua cambiano subito; le impostazioni dei giochi valgono dal riavvio del gioco.`,game:`Gioco`,multiplier:`Moltiplicatore`,daily:`Valore giornaliero`,result:`Esito`,automatic:`Automatico`,loss:`Perdita`,win:`Vincita`,jackpot:`Jackpot`,decidedBy:`L'esito lo decide l'impostazione avanzata «{field}».`,advanced:`Avanzate`,field:{segment:`Segmento`,prize:`Premio`,combination:`Combinazione`,number:`Numero`,violet:`Pallina viola`,pocket:`Buca`,award:`Variante`,storm:`Numero tempesta`,booster:`Spicchio del Moltiplicatore`},option:{nothing:`Niente`,award:`{tier} · {award}`,pair:`Coppia di loghi`,logos:`Tris di loghi`,sevens:`Tris di sette`,infinities:`Tris di infiniti`,hit:`Presa`,miss:`Mancata`,pocket:`Buca {n}`,lands:`Esce`,misses:`Non esce`},about:{roulette:`Il numero scelto esce comunque. Con un esito forzato, o con un numero tempesta che deve uscire o no, il numero esce tra quelli che lo permettono con le puntate sul tavolo; se nessuno lo permette, l'estrazione è normale. Con il moltiplicatore la roulette diventa Roulette Tempesta.`,pachinko:`La pallina viola c'è solo nel Pachinko a colori, con il moltiplicatore. Lì il premio dipende dai rossi presi: con il jackpot i rossi si dispongono lungo la caduta e la pallina li prende tutti.`,wheel:`Con un moltiplicatore la ruota ha il Moltiplicatore, che sceglie un tipo di spicchio che esce più spesso: qui puoi decidere quale. Il segmento scelto decide comunque dove si ferma la ruota.`,slot:`Normalmente c'è la slot classica. Nel giorno del bonus al suo posto c'è la slot del giorno, Decollo o Contropiede, estratta dalla data: qui si può fissare insieme al moltiplicatore. L'esito estratto è il massimo a cui si può arrivare.`,scratch:`Normalmente c'è il biglietto classico. Nel giorno del bonus al suo posto c'è il biglietto del giorno, uno dei due a numeri estratto dalla data: qui si può fissare insieme al moltiplicatore. Una variante scelta senza premio va a un premio che la paga.`,blackjack:`Il mazzo mette in scena l'esito estratto qualunque cosa decida il giocatore: con Vincita la mano si vince, con Jackpot arriva il blackjack di picche.`,holdem:`Le carte sono scelte tra quelle che danno l'esito estratto: con Vincita si vince se si vede, con Jackpot arriva la scala reale. Chi lascia perde comunque la mano.`},reset:`Azzera tutti i giochi`,apply:`Applica e riavvia gioco`,variant:{scratch:`Biglietto del giorno`,slot:`Slot del giorno`},theme:`Tema della sala`,calendar:`Dal calendario`,noTheme:`Nessuno`,language:`Lingua`,autoLanguage:`Automatica`,tables:`Tavoli di carte`,multiplayer:`Multiplayer`,singlePlayer:`Giocatore singolo`,dealer:`Croupier`,dealerShifts:`Dai turni del giorno`,dealerAbsent:`Assente`,dealerNumber:`Croupier {n}`}}})),ge,_e=n((()=>{ge={games:{pachinko:{name:`Pachinko`,summary:`La buca decide il premio`,rules:`Scegli il premio e da dove far cadere la pallina: la buca decide cosa vinci, un premio piccolo o uno grande; la buca centrale è il jackpot. Le buche col trattino non pagano.`,bonusRules:`Bonus dalla Gran Ruota: il premio resta {prize}. Scegli da dove far cadere la pallina, la buca mostra cosa vinci.`}},pachinko:{launch:`Lascia cadere la pallina`,hint:`Muovi il mouse sopra il tavolo per scegliere da dove cade, poi clicca. Anche con le frecce e la barra spaziatrice.`,redHits:`Rossi colpiti`,powerOn:`Viola attivato`,powerOff:`Colpisci il viola`,chance:`Probabilità di vincita`,detail:`Pachinko · pioli colorati`,colorRules:`Le buche col trattino non pagano; le altre salgono di premio a ogni rosso colpito, da un premio piccolo fino a uno grande. Con tutti e 8 i rossi la buca centrale è il jackpot. Il viola moltiplica ancora le probabilità del giorno.`,fever:`Febbre dell’oro`,feverTitle:`TUTTI I ROSSI!`},detail:{pachinko:`buca vincente`}}})),ve,ye=n((()=>{ve={title:`Mi sento fortunato`,room:`Sala giochi`,backToOverview:`Torna alla panoramica`,backToGames:`Torna ai giochi`,soundOn:`Suoni accesi`,soundOff:`Suoni spenti`,rules:`Regole`,chips:`Premio delle fiches`,ticker:{1:`Mi sento fortunato`,2:`Gran Ruota: il jackpot è sulla ruota`,3:`Tris di ∞ sulla linea: jackpot`,4:`Un pieno alla roulette vale il jackpot`,5:`Tre loghi uguali sotto la patina`,6:`La buca centrale del Pachinko paga il jackpot`},win:{title:`Hai vinto`,jackpot:`Jackpot`},tier:{small:`Vittoria piccola`,big:`Vittoria buona`,jackpot:`Jackpot`,symbol:{small:`★`,big:`★★`,jackpot:`★★★`}},boost:{badge:`×{n}`,title:`Bonus del giorno`,odds:`Bonus del giorno: vincite {n} volte più probabili`,dealer:`Croupier al tavolo`,dealerOdds:`Croupier al tavolo: vincite {n} volte più probabili`},themes:{christmas:{name:`Natale`,greeting:`Buone feste: c'è un premio sotto l'albero`},halloween:{name:`Halloween`,greeting:`Dolcetto o premio?`},easter:{name:`Pasqua`,greeting:`Buona Pasqua: chissà cosa c'è nell'uovo`},august:{name:`Agosto`,greeting:`Buon Ferragosto dalla sala`}},lobby:{games:`Sala giochi`,private:`Salon Privé`,privateLine:`Tavoli riservati`,pager:`Sale`},chipCount:{hint:`Posa fino a {n} fiches`,left:`Restano {n} fiches`,leftOne:`Resta 1 fiche`,none:`Fiches finite`},cert:{title:`Premio vinto`,prize:`Premio`,variant:`Variante`,fullPrize:`Premio completo`,wonOn:`Vinto il`,notClaimed:`Da riscattare`,claimed:`Riscattato`,claim:`Riscatta il premio`,claiming:`Riscatto in corso…`,claimFailed:`Non è stato possibile riscattare il premio. Riprova.`,seal:`MI SENTO FORTUNATO · PREMIO VINTO ·`,sealClaimed:`RISCATTATO · MI SENTO FORTUNATO ·`,again:`Gioca ancora a {game}`,otherGame:`Cambia gioco`}}})),be,xe=n((()=>{be={games:{roulette:{name:`Roulette`,summary:`Punta le fiches, poi lancia la pallina`,rules:`Posa fino a {n} fiches di un premio, sul tavolo o con Nassa, Orfanelli e Serie 5/8, che le mettono sui loro pieni e cavalli: tutte le fiches sono del premio della prima. Il pieno vince il jackpot; cavallo, terzina, carré e sestina un premio grande; colonne, dozzine e chances semplici un premio piccolo. Se vincono più puntate conta la migliore.`}},roulette:{launch:`Lancia la pallina`,clear:`Ritira le fiches`,table:`Tavolo`,call:{made:`Les jeux sont faits`,closed:`Rien ne va plus`},board:{column:`2:1`,dozen1:`1ª 12`,dozen2:`2ª 12`,dozen3:`3ª 12`,low:`1–18`,even:`Pari`,odd:`Dispari`,high:`19–36`},kind:{straight:`Pieno {numbers}`,split:`Cavallo {numbers}`,street:`Terzina {numbers}`,corner:`Carré {numbers}`,line:`Sestina {numbers}`},spot:{column:{1:`Colonna 1-34`,2:`Colonna 2-35`,3:`Colonna 3-36`},dozen:{1:`Prima dozzina`,2:`Seconda dozzina`,3:`Terza dozzina`},chance:{low:`Da 1 a 18`,even:`Pari`,red:`Rosso`,black:`Nero`,odd:`Dispari`,high:`Da 19 a 36`}},track:`Giocate annunciate`,announced:{nassa:`Nassa`,orphans:`Orfanelli`,tiers:`Serie 5/8`,cost:`{n} fiches`,label:`{name}, {n} fiches`},surface:`Dove puntare`,storm:{title:`Tempesta`,rules:`Roulette Tempesta, il bonus del giorno. Posa fino a {n} fiches come alla roulette; a ogni lancio, a puntate chiuse, il fulmine colpisce 3 numeri che escono {m} volte più spesso. Il pieno vince il jackpot, cavalli, terzine, carré e sestine un premio grande, colonne, dozzine e chances semplici un premio piccolo.`,odds:`Escono {n}× più spesso`,numbers:`Numeri fulmine`},undo:`Togli l'ultima fiche`,rebet:`Ripeti la puntata`},detail:{roulette:`numero {n}`,storm:`numero fulmine {n}`}}})),Se,Ce=n((()=>{Se={games:{scratch:{name:`Biglietto Fortunato`,summary:`Tre loghi uguali`,rules:`Tre loghi uguali vincono quel premio; la striscia in basso dice cosa paga, fino al jackpot.`}},scratch:{title:`Gratta il premio`,rule:`Tre loghi uguali vincono il premio. La striscia in basso dice cosa paga.`,award:`vinci`,series:`MI SENTO FORTUNATO · SERIE FORTUNA`,watermark:`FORTUNA`,revealAll:`Gratta tutto`,newTicket:`Nuovo biglietto`,hint:`Gratta con il mouse o con il dito`,locked:`Si gratta con tre loghi uguali`,prize:`PREMIO`,winningNumbers:`NUMERI VINCENTI`,yourNumbers:`I TUOI NUMERI`,game:`GIOCO {n}`,topPrize:`PREMIO MASSIMO: IL JACKPOT`,double:{first:`DOPPIA`,second:`FORTUNA`,tagline:`2 modi di giocare!`,rules:`Due modi di vincere: un numero vincente tra i tuoi numeri vince il premio sotto di lui; tre premi uguali vincono quel premio. I loghi non hanno premi sotto: tre loghi uguali vincono il jackpot.`},forever:{first:`PER`,middle:`∞`,second:`SEMPRE`,jackpot:`3 loghi uguali: il jackpot`,pairRule:`Due premi uguali vincono quel premio`,rules:`Gioco 1: un numero vincente tra i tuoi numeri vince il premio sotto di lui; i loghi non hanno premi sotto, ma tre loghi uguali vincono il jackpot. Gioco 2: due premi uguali vincono quel premio.`},names:{double:`Doppia Fortuna`,forever:`Per Sempre`},dayRules:`Biglietto del giorno: i biglietti vincenti escono {n} volte più spesso.`},detail:{scratch:{small:`tre loghi uguali`,big:`tre loghi uguali`,jackpot:`tre loghi uguali`,match:`numero vincente`,three:`tre premi uguali`,pair:`due premi uguali`,logos:`tre loghi uguali`}}}})),we,Te=n((()=>{we={games:{slot:{name:`Slot`,summary:`Tre simboli in linea`,rules:`Due premi uguali sulla linea: un premio piccolo. Tre premi o tre 7: un premio grande. Tre ∞: il jackpot.`}},slot:{sign:`JACKPOT`,ready:`Tira la leva`,spinning:`I rulli girano…`,line:`Sulla linea`,spin:`Gira i rulli`,lever:`Tira la leva`,result:{none:`Nessuna combinazione`,small:`Coppia sulla linea`,big:`Tris sulla linea`,jackpot:`Tre ∞`},names:{takeoff:`Decollo`,breakaway:`Contropiede`},takeoff:{rules:`Volo del giorno: le vincite escono {n} volte più spesso. L'aereo decolla e il moltiplicatore sale: incassa prima che voli via. Da ×2 vinci un premio piccolo, da ×10 un premio grande, a ×50 il jackpot: più aspetti, più il premio è grande.`,start:`Decolla`,again:`Nuovo volo`,cashOut:`Incassa {prize}`,cashFrom:`Si incassa da ×{m}`,ready:`Pronto al decollo`,gone:`Volato via!`,cashed:`Incassato a ×{m}: {prize}`,hint:`Incassa quando vuoi: se l'aereo vola via prima, non vinci nulla`},breakaway:{rules:`Partita del giorno: le vincite escono {n} volte più spesso. Avanza verso la porta scegliendo una casella per colonna: in una c'è il difensore. Ogni colonna superata alza il premio e puoi incassare quando vuoi; davanti alla porta tira: con il gol vinci quello che hai raccolto, fino al jackpot.`,pick:`Scegli una casella della colonna {n}`,shoot:`Scegli dove tirare`,tackled:`Placcato! Il premio raccolto è perso`,goal:`GOL!`,again:`Nuova partita`,cashOut:`Incassa {prize}`,cashFrom:`Si incassa dalla colonna {n}`,square:`Colonna {column}, casella {row}`,zone:`Tira nella zona {n}`}},detail:{slot:{small:`coppia sulla linea`,big:`tris sulla linea`,jackpot:`tre ∞`,takeoff:`incassato a ×{m}`,breakaway:`{n} colonne superate`,goal:`gol`}}}})),Ee,De=n((()=>{Ee={games:{wheel:{name:`Gran Ruota`,summary:`Moltiplicatore: premio · Ruota: vincita`,rules:`Il Moltiplicatore sceglie il premio, la ruota la vincita: un premio piccolo o un premio grande. Testa o Croce, Caccia al Premio e Pachinko rivelano la vincita; Gran Ruota è il jackpot.`}},wheel:{booster:`MOLTIPLICATORE`,spin:`Gira la ruota`,hint:`Oppure afferra la ruota e lanciala; fai zoom sulla ruota per vederla da vicino`,segment:{coin:`TESTA O CROCE`,hunt:`CACCIA AL PREMIO`,pachinko:`PACHINKO`,jackpot:`GRAN RUOTA`},pachinkoTitle:`Bonus Pachinko`,pachinkoText:`La vincita la decide la pallina. Il premio resta {prize}.`,toPachinko:`Vai al Pachinko`,boosterRules:`Moltiplicatore del giorno: a ogni giro il Moltiplicatore sceglie anche un tipo di spicchio, che esce {n} volte più spesso. Il Moltiplicatore sceglie il premio, la ruota la vincita: un premio piccolo o un premio grande. Testa o Croce, Caccia al Premio e Pachinko rivelano la vincita; Gran Ruota è il jackpot.`},coin:{text:`Oro o rubino: la moneta sceglie la vincita.`,gold:`oro`,ruby:`rubino`,flip:`Lancia la moneta`},hunt:{text:`Diciotto caselle, una vincita sotto ognuna. Scegline una.`,tile:`Casella {n}`},detail:{wheel:{small:`spicchio vincente`,big:`spicchio vincente`,jackpot:`spicchio jackpot`,coin:`Testa o Croce`,hunt:`Caccia al Premio`,pachinko:`bonus Pachinko`}}}})),Oe=r({default:()=>ke}),ke,Ae=n((()=>{c(),pe(),he(),_e(),ye(),xe(),Ce(),Te(),De(),ke=s(ve,Ee,we,be,ge,Se,fe,me)})),je,Me=n((()=>{je={games:{blackjack:{name:`Blackjack`,summary:`Gana a la banca sin pasarte de 21`,rules:`Coloca hasta 5 fichas de un premio en el círculo delante de tu puesto: todas las fichas son del premio de la primera. Después gana a la banca sin pasarte de 21; la banca se planta con 17. Con tus dos primeras cartas puedes doblar, con una segunda pila de fichas y una sola carta, o dividir dos cartas del mismo valor en dos manos con una pila cada una; al dividir cuenta la mejor mano, y los ases divididos reciben una sola carta. Ganar la mano vale el premio de las fichas: un premio pequeño, o uno grande con un blackjack servido, as y diez o figura. El blackjack de picas, as y jota de picas, es el jackpot.`},holdem:{name:`Texas Hold'em`,summary:`La mejor mano contra la banca`,rules:`Tú y la banca recibís dos cartas y luego salen las tres del flop: ves o te retiras. Si ves, siguen el turn y el river y gana la mejor mano de cinco cartas. Ganar con carta alta, pareja, doble pareja o trío vale un premio pequeño; con escalera o mejor, un premio grande; la escalera real es el jackpot. Si te retiras, pierdes la mano.`}},cards:{you:`Tú`,dealer:`Banca`,deal:`Repartir`,player:`Jugador`,stand:`Levantarse de la mesa`,sit:`Siéntate aquí`,chooseSeat:`Elige un asiento`,dealingIn:`Se reparte en {seconds}s`,playIn:`{seconds}s para jugar`,nextHand:`Juegas desde la próxima mano`},blackjack:{print:`Banca se planta en 17 · Blackjack de picas: jackpot`,hit:`Pedir`,stand:`Plantarse`,double:`Doblar`,split:`Dividir`,bet:`Apuesta una ficha de {prize}`,result:{bust:`Te pasas`,lose:`Gana la banca`,win:`Ganas a la banca`,dealerBust:`La banca se pasa`,natural:`¡Blackjack!`,spades:`¡Blackjack de picas!`}},holdem:{print:`La banca juega cada mano · Escalera real: jackpot`,call:`Ver`,fold:`Retirarse`,hands:{highCard:`Carta alta`,pair:`Pareja`,twoPair:`Doble pareja`,trips:`Trío`,straight:`Escalera`,flush:`Color`,fullHouse:`Full`,quads:`Póker`,straightFlush:`Escalera de color`,royalFlush:`Escalera real`},result:{folded:`Te has retirado`,won:`Ganas con {hand}`,lost:`La banca gana con {hand}`,split:`Empate`}},detail:{blackjack:{win:`mano ganada`,dealerBust:`la banca se pasa`,natural:`blackjack servido`,spades:`blackjack de picas`},holdem:`ganado con {hand}`}}})),Ne,Pe=n((()=>{Ne={developer:{title:`Controles de desarrollador`,restore:`Abrir controles de desarrollador`,minimize:`Minimizar a icono`,close:`Cerrar controles de desarrollador`,password:`Contraseña`,unlock:`Desbloquear`,wrongPassword:`Contraseña incorrecta.`,hint:`Ctrl+Shift+L abre y cierra este panel. El tema y el idioma cambian al momento; los ajustes de los juegos se aplican al reiniciar el juego.`,game:`Juego`,multiplier:`Multiplicador`,daily:`Valor del día`,result:`Resultado`,automatic:`Automático`,loss:`Derrota`,win:`Victoria`,jackpot:`Jackpot`,decidedBy:`El ajuste avanzado «{field}» decide el resultado.`,advanced:`Avanzado`,field:{segment:`Sector`,prize:`Premio`,combination:`Combinación`,number:`Número`,violet:`Orbe violeta`,pocket:`Casilla`,award:`Variante`,storm:`Número tormenta`,booster:`Sector del Multiplicador`},option:{nothing:`Nada`,award:`{tier} · {award}`,pair:`Pareja de logos`,logos:`Tres logos`,sevens:`Tres sietes`,infinities:`Tres infinitos`,hit:`Tocado`,miss:`Fallado`,pocket:`Casilla {n}`,lands:`Sale`,misses:`No sale`},about:{roulette:`El número elegido sale siempre. Con un resultado forzado, o con un número tormenta que debe salir o no, el número sale entre los que permiten las apuestas de la mesa; si ninguno lo permite, el sorteo es normal. Con un multiplicador, la ruleta se convierte en Ruleta Tormenta.`,pachinko:`El orbe violeta solo existe en el Pachinko de colores, con un multiplicador. Allí el premio depende de los rojos tocados: con el jackpot, los rojos se alinean a lo largo de la caída y la bola los toca todos.`,wheel:`Con un multiplicador, el Multiplicador elige un tipo de sector que sale más a menudo: aquí eliges cuál. El sector elegido sigue decidiendo dónde se para la rueda.`,slot:`Normalmente la slot es la clásica. El día del bonus la sustituye la slot del día, Despegue o Contraataque, sorteada según la fecha: aquí se puede fijar junto con el multiplicador. El resultado sorteado es lo máximo a lo que se puede llegar.`,scratch:`Normalmente el boleto es el clásico. El día del bonus lo sustituye el boleto del día, uno de los dos boletos de números, sorteado según la fecha: aquí se puede fijar junto con el multiplicador. Una variante elegida sin premio va a un premio que la paga.`,blackjack:`El sabot escenifica el resultado sorteado decida lo que decida el jugador: con Victoria la mano se gana, con Jackpot llega el blackjack de picas.`,holdem:`Las cartas se eligen entre las que dan el resultado sorteado: con Victoria se gana si se ve, con Jackpot llega la escalera real. Quien se retira pierde la mano igualmente.`},reset:`Reiniciar todos los juegos`,apply:`Aplicar y reiniciar el juego`,variant:{scratch:`Boleto del día`,slot:`Slot del día`},theme:`Tema de la sala`,calendar:`Según el calendario`,noTheme:`Ninguno`,language:`Idioma`,autoLanguage:`Automático`,tables:`Mesas de cartas`,multiplayer:`Multijugador`,singlePlayer:`Un jugador`,dealer:`Crupier`,dealerShifts:`Según los turnos del día`,dealerAbsent:`Ausente`,dealerNumber:`Crupier {n}`}}})),Fe,Ie=n((()=>{Fe={games:{pachinko:{name:`Pachinko`,summary:`La casilla decide el premio`,rules:`Elige el premio y desde dónde soltar la bola: la casilla decide cuánto ganas, un premio pequeño o uno grande; la casilla central es el jackpot. Las casillas con guion no pagan.`,bonusRules:`Bonus de la Gran Rueda: el premio sigue siendo {prize}. Elige desde dónde soltar la bola; la casilla muestra cuánto ganas.`}},pachinko:{launch:`Suelta la bola`,hint:`Mueve el ratón sobre el tablero para elegir por dónde cae y haz clic. También con las flechas y la barra espaciadora.`,redHits:`Rojos tocados`,powerOn:`Violeta activado`,powerOff:`Toca el violeta`,chance:`Probabilidad de ganar`,detail:`Pachinko · clavos de colores`,colorRules:`Las casillas con guion no pagan; las demás suben de premio con cada rojo tocado, de un premio pequeño hasta uno grande. Con los 8 rojos, la casilla central es el jackpot. El orbe violeta multiplica otra vez las probabilidades del día.`,fever:`Fiebre del oro`,feverTitle:`¡TODOS LOS ROJOS!`},detail:{pachinko:`casilla ganadora`}}})),Le,Re=n((()=>{Le={title:`Voy a tener suerte`,room:`Sala de juegos`,backToOverview:`Ir al resumen`,backToGames:`Ir a los juegos`,soundOn:`Sonido activado`,soundOff:`Sonido desactivado`,rules:`Reglas`,chips:`Premio de las fichas`,ticker:{1:`Voy a tener suerte`,2:`Gran Rueda: el jackpot está en la rueda`,3:`Tres ∞ en la línea: jackpot`,4:`Un pleno en la ruleta vale el jackpot`,5:`Tres logos iguales bajo la capa`,6:`La casilla central del Pachinko paga el jackpot`},win:{title:`Has ganado`,jackpot:`Jackpot`},tier:{small:`Premio pequeño`,big:`Premio grande`,jackpot:`Jackpot`,symbol:{small:`★`,big:`★★`,jackpot:`★★★`}},boost:{badge:`×{n}`,title:`Bonus del día`,odds:`Bonus del día: premios {n} veces más probables`,dealer:`Crupier en la mesa`,dealerOdds:`Crupier en la mesa: premios {n} veces más probables`},themes:{christmas:{name:`Navidad`,greeting:`Felices fiestas: hay un premio bajo el árbol`},halloween:{name:`Halloween`,greeting:`¿Truco o premio?`},easter:{name:`Pascua`,greeting:`Felices Pascuas: ¿qué habrá dentro del huevo?`},august:{name:`Agosto`,greeting:`Feliz verano desde la sala`}},lobby:{games:`Sala de juegos`,private:`Salon Privé`,privateLine:`Mesas reservadas`,pager:`Salas`},chipCount:{hint:`Coloca hasta {n} fichas`,left:`Quedan {n} fichas`,leftOne:`Queda 1 ficha`,none:`Sin fichas`},cert:{title:`Premio ganado`,prize:`Premio`,variant:`Variante`,fullPrize:`El premio completo`,wonOn:`Ganado el`,notClaimed:`Sin canjear`,claimed:`Canjeado`,claim:`Canjear premio`,claiming:`Canjeando…`,claimFailed:`No se ha podido canjear el premio. Inténtalo de nuevo.`,seal:`VOY A TENER SUERTE · PREMIO GANADO ·`,sealClaimed:`CANJEADO · VOY A TENER SUERTE ·`,again:`Jugar otra vez a {game}`,otherGame:`Cambiar de juego`}}})),ze,Be=n((()=>{ze={games:{roulette:{name:`Roulette`,summary:`Coloca las fichas y lanza la bola`,rules:`Coloca hasta {n} fichas de un premio, en la mesa o con Nassa, Huérfanos y Tercio, que las reparten en sus plenos y caballos: todas las fichas son del premio de la primera. El pleno gana el jackpot; caballo, transversal, cuadro y seisena un premio grande; columnas, docenas y suertes sencillas un premio pequeño. Si ganan varias apuestas, cuenta la mejor.`}},roulette:{launch:`Lanza la bola`,clear:`Retira las fichas`,table:`Mesa`,call:{made:`Les jeux sont faits`,closed:`Rien ne va plus`},board:{column:`2 a 1`,dozen1:`1ª 12`,dozen2:`2ª 12`,dozen3:`3ª 12`,low:`Falta`,even:`Par`,odd:`Impar`,high:`Pasa`},kind:{straight:`Pleno {numbers}`,split:`Caballo {numbers}`,street:`Transversal {numbers}`,corner:`Cuadro {numbers}`,line:`Seisena {numbers}`},spot:{column:{1:`Columna 1-34`,2:`Columna 2-35`,3:`Columna 3-36`},dozen:{1:`Primera docena`,2:`Segunda docena`,3:`Tercera docena`},chance:{low:`Falta, del 1 al 18`,even:`Par`,red:`Rojo`,black:`Negro`,odd:`Impar`,high:`Pasa, del 19 al 36`}},track:`Apuestas anunciadas`,announced:{nassa:`Nassa`,orphans:`Huérfanos`,tiers:`Tercio`,cost:`{n} fichas`,label:`{name}, {n} fichas`},surface:`Dónde apostar`,storm:{title:`Tormenta`,rules:`Ruleta Tormenta, el bonus del día. Coloca hasta {n} fichas como en la ruleta; en cada tirada, con las apuestas cerradas, el rayo cae sobre 3 números que salen {m} veces más a menudo. El pleno gana el jackpot; caballos, transversales, cuadros y seisenas un premio grande; columnas, docenas y suertes sencillas un premio pequeño.`,odds:`Salen {n}× más a menudo`,numbers:`Números rayo`},undo:`Quita la última ficha`,rebet:`Repite la apuesta`},detail:{roulette:`número {n}`,storm:`número rayo {n}`}}})),Ve,He=n((()=>{Ve={games:{scratch:{name:`Raspadita`,summary:`Tres logos iguales`,rules:`Tres logos iguales ganan ese premio; la franja de abajo dice cuánto paga, hasta el jackpot.`}},scratch:{title:`Rasca el premio`,rule:`Tres logos iguales ganan el premio. La franja de abajo dice cuánto paga.`,award:`ganas`,series:`VOY A TENER SUERTE · SERIE FORTUNA`,watermark:`SUERTE`,revealAll:`Rasca todo`,newTicket:`Nuevo boleto`,hint:`Rasca con el ratón o con el dedo`,locked:`Se rasca con tres logos iguales`,prize:`PREMIO`,winningNumbers:`NÚMEROS GANADORES`,yourNumbers:`TUS NÚMEROS`,game:`JUEGO {n}`,topPrize:`PREMIO MÁXIMO: EL JACKPOT`,double:{first:`DOBLE`,second:`SUERTE`,tagline:`¡2 formas de jugar!`,rules:`Dos formas de ganar: un número ganador entre tus números gana el premio que tiene debajo; tres premios iguales ganan ese premio. Los logos no tienen premio debajo: tres logos iguales ganan el jackpot.`},forever:{first:`PARA`,middle:`∞`,second:`SIEMPRE`,jackpot:`3 logos iguales: el jackpot`,pairRule:`Dos premios iguales ganan ese premio`,rules:`Juego 1: un número ganador entre tus números gana el premio que tiene debajo; los logos no tienen premio debajo, pero tres logos iguales ganan el jackpot. Juego 2: dos premios iguales ganan ese premio.`},names:{double:`Doble Suerte`,forever:`Para Siempre`},dayRules:`Boleto del día: los boletos ganadores salen {n} veces más a menudo.`},detail:{scratch:{small:`tres logos iguales`,big:`tres logos iguales`,jackpot:`tres logos iguales`,match:`número ganador`,three:`tres premios iguales`,pair:`dos premios iguales`,logos:`tres logos iguales`}}}})),Ue,We=n((()=>{Ue={games:{slot:{name:`Slot`,summary:`Tres símbolos en la línea`,rules:`Dos premios iguales en la línea: un premio pequeño. Tres premios o tres 7: un premio grande. Tres ∞: el jackpot.`}},slot:{sign:`JACKPOT`,ready:`Tira de la palanca`,spinning:`Giran los rodillos…`,line:`En la línea`,spin:`Gira los rodillos`,lever:`Tira de la palanca`,result:{none:`Sin combinación`,small:`Pareja en la línea`,big:`Trío en la línea`,jackpot:`Tres ∞`},names:{takeoff:`Despegue`,breakaway:`Contraataque`},takeoff:{rules:`Vuelo del día: los premios salen {n} veces más a menudo. El avión despega y el multiplicador sube: cobra antes de que se escape. Desde ×2 ganas un premio pequeño, desde ×10 un premio grande y a ×50 el jackpot: cuanto más esperas, mayor es el premio.`,start:`Despega`,again:`Nuevo vuelo`,cashOut:`Cobra {prize}`,cashFrom:`Se cobra desde ×{m}`,ready:`Listo para despegar`,gone:`¡Se ha escapado!`,cashed:`Cobrado a ×{m}: {prize}`,hint:`Cobra cuando quieras: si el avión se escapa antes, no ganas nada`},breakaway:{rules:`Partido del día: los premios salen {n} veces más a menudo. Avanza hacia la portería eligiendo una casilla en cada columna: en una está el defensa. Cada columna superada sube el premio y puedes cobrar cuando quieras; delante de la portería, chuta: con el gol ganas lo acumulado, hasta el jackpot.`,pick:`Elige una casilla de la columna {n}`,shoot:`Elige dónde chutar`,tackled:`¡Entrada! Pierdes el premio acumulado`,goal:`¡GOL!`,again:`Nuevo partido`,cashOut:`Cobra {prize}`,cashFrom:`Se cobra desde la columna {n}`,square:`Columna {column}, casilla {row}`,zone:`Chuta a la zona {n}`}},detail:{slot:{small:`pareja en la línea`,big:`trío en la línea`,jackpot:`tres ∞`,takeoff:`cobrado a ×{m}`,breakaway:`{n} columnas superadas`,goal:`gol`}}}})),Ge,Ke=n((()=>{Ge={games:{wheel:{name:`Gran Rueda`,summary:`Multiplicador: premio · Rueda: pago`,rules:`El Multiplicador elige el premio y la rueda cuánto ganas: un premio pequeño o un premio grande. Cara o Cruz, Caza del Premio y Pachinko desvelan cuánto ganas; Gran Rueda es el jackpot.`}},wheel:{booster:`MULTIPLICADOR`,spin:`Gira la rueda`,hint:`O agarra la rueda y lánzala; haz zoom sobre la rueda para verla de cerca`,segment:{coin:`CARA O CRUZ`,hunt:`CAZA DEL PREMIO`,pachinko:`PACHINKO`,jackpot:`GRAN RUEDA`},pachinkoTitle:`Bonus Pachinko`,pachinkoText:`La bola decide cuánto ganas. El premio sigue siendo {prize}.`,toPachinko:`Ir al Pachinko`,boosterRules:`Multiplicador del día: en cada tirada el Multiplicador elige también un tipo de sector, que sale {n} veces más a menudo. El Multiplicador elige el premio y la rueda cuánto ganas: un premio pequeño o un premio grande. Cara o Cruz, Caza del Premio y Pachinko desvelan cuánto ganas; Gran Rueda es el jackpot.`},coin:{text:`Oro o rubí: la moneda decide cuánto ganas.`,gold:`oro`,ruby:`rubí`,flip:`Lanza la moneda`},hunt:{text:`Dieciocho casillas y un premio bajo cada una. Elige una.`,tile:`Casilla {n}`},detail:{wheel:{small:`sector ganador`,big:`sector ganador`,jackpot:`sector jackpot`,coin:`Cara o Cruz`,hunt:`Caza del Premio`,pachinko:`bonus Pachinko`}}}})),qe=r({default:()=>Je}),Je,Ye=n((()=>{c(),Me(),Pe(),Ie(),Re(),Be(),He(),We(),Ke(),Je=s(Le,Ge,Ue,ze,Fe,Ve,je,Ne)})),Xe,Ze=n((()=>{Xe={games:{blackjack:{name:`Blackjack`,summary:`Battez la banque sans dépasser 21`,rules:`Posez jusqu'à 5 jetons d'un même lot dans le cercle devant votre place\xA0: tous les jetons sont du lot du premier. Puis battez la banque sans dépasser 21\xA0; la banque reste à 17. Sur vos deux premières cartes, vous pouvez doubler, avec une seconde pile de jetons et une seule carte, ou séparer deux cartes de même valeur en deux mains avec une pile chacune\xA0; après une séparation, la meilleure main compte et les as séparés reçoivent une seule carte. Gagner la main rapporte le lot des jetons\xA0: un petit lot, ou un gros lot avec un blackjack servi, un as avec un dix ou une figure. Le blackjack de pique, as et valet de pique, est le jackpot.`},holdem:{name:`Texas Hold'em`,summary:`La meilleure main contre la banque`,rules:`Vous et la banque recevez deux cartes, puis les trois cartes du flop sont retournées\xA0: suivez ou couchez-vous. Si vous suivez, viennent le turn et la river, et la meilleure main de cinq cartes gagne. Gagner avec une carte haute, une paire, une double paire ou un brelan rapporte un petit lot, avec une quinte ou mieux un gros lot\xA0; la quinte flush royale est le jackpot. Se coucher fait perdre la main.`}},cards:{you:`Vous`,dealer:`Banque`,deal:`Distribuer`,player:`Joueur`,stand:`Quitter la table`,sit:`S’asseoir ici`,chooseSeat:`Choisissez une place`,dealingIn:`Distribution dans {seconds}s`,playIn:`{seconds}s pour jouer`,nextHand:`Vous jouez dès la prochaine main`},blackjack:{print:`La banque reste à 17 · Blackjack de pique\xA0: jackpot`,hit:`Carte`,stand:`Rester`,double:`Doubler`,split:`Séparer`,bet:`Miser un jeton {prize}`,result:{bust:`Brûlé`,lose:`La banque gagne`,win:`Vous battez la banque`,dealerBust:`La banque brûle`,natural:`Blackjack\xA0!`,spades:`Blackjack de pique\xA0!`}},holdem:{print:`La banque joue tout · Quinte flush royale\xA0: jackpot`,call:`Suivre`,fold:`Se coucher`,hands:{highCard:`Carte haute`,pair:`Paire`,twoPair:`Double paire`,trips:`Brelan`,straight:`Quinte`,flush:`Couleur`,fullHouse:`Full`,quads:`Carré`,straightFlush:`Quinte flush`,royalFlush:`Quinte flush royale`},result:{folded:`Vous vous êtes couché`,won:`Vous gagnez avec {hand}`,lost:`La banque gagne avec {hand}`,split:`Égalité`}},detail:{blackjack:{win:`main gagnée`,dealerBust:`la banque brûle`,natural:`blackjack servi`,spades:`blackjack de pique`},holdem:`gagné avec {hand}`}}})),Qe,$e=n((()=>{Qe={developer:{title:`Contrôles développeur`,restore:`Ouvrir les contrôles développeur`,minimize:`Réduire en icône`,close:`Fermer les contrôles développeur`,password:`Mot de passe`,unlock:`Déverrouiller`,wrongPassword:`Mot de passe incorrect.`,hint:`Ctrl+Shift+L ouvre et ferme ce panneau. Le thème et la langue changent aussitôt\xA0; les réglages des jeux s'appliquent au redémarrage du jeu.`,game:`Jeu`,multiplier:`Multiplicateur`,daily:`Valeur du jour`,result:`Résultat`,automatic:`Automatique`,loss:`Perte`,win:`Gain`,jackpot:`Jackpot`,decidedBy:`Le réglage avancé «\xA0{field}\xA0» décide du résultat.`,advanced:`Avancé`,field:{segment:`Secteur`,prize:`Lot`,combination:`Combinaison`,number:`Numéro`,violet:`Orbe violet`,pocket:`Case`,award:`Variante`,storm:`Numéro tempête`,booster:`Secteur du Multiplicateur`},option:{nothing:`Rien`,award:`{tier} · {award}`,pair:`Paire de logos`,logos:`Trois logos`,sevens:`Trois sept`,infinities:`Trois infinis`,hit:`Touché`,miss:`Manqué`,pocket:`Case {n}`,lands:`Sort`,misses:`Ne sort pas`},about:{roulette:`Le numéro choisi sort toujours. Avec un résultat forcé, ou un numéro tempête qui doit sortir ou non, le numéro sort parmi ceux que permettent les mises sur le tapis\xA0; si aucun ne le permet, le tirage est normal. Avec un multiplicateur, la roulette devient la Roulette Tempête.`,pachinko:`L'orbe violet n'existe que sur le Pachinko coloré, avec un multiplicateur. Là, le lot dépend des rouges touchés\xA0: avec le jackpot, les rouges s'alignent le long de la chute et la bille les touche tous.`,wheel:`Avec un multiplicateur, le Multiplicateur choisit un type de secteur qui sort plus souvent\xA0: ici, vous choisissez lequel. Le secteur choisi décide quand même où s'arrête la roue.`,slot:`Normalement, c'est la slot classique. Le jour du bonus, la slot du jour la remplace, Décollage ou Contre-attaque, tirée d'après la date\xA0: on peut la fixer ici avec le multiplicateur. Le résultat tiré est le maximum que l'on peut atteindre.`,scratch:`Normalement, c'est le ticket classique. Le jour du bonus, le ticket du jour le remplace, l'un des deux tickets à numéros, tiré d'après la date\xA0: on peut le fixer ici avec le multiplicateur. Une variante choisie sans lot va à un lot qui la paie.`,blackjack:`Le sabot met en scène le résultat tiré, quoi que décide le joueur\xA0: avec Gain la main est gagnée, avec Jackpot arrive le blackjack de pique.`,holdem:`Les cartes sont choisies parmi celles qui donnent le résultat tiré\xA0: avec Gain on gagne si l'on suit, avec Jackpot arrive la quinte flush royale. Se coucher fait perdre la main quand même.`},reset:`Réinitialiser tous les jeux`,apply:`Appliquer et relancer le jeu`,variant:{scratch:`Ticket du jour`,slot:`Slot du jour`},theme:`Thème de la salle`,calendar:`D'après le calendrier`,noTheme:`Aucun`,language:`Langue`,autoLanguage:`Automatique`,tables:`Tables de cartes`,multiplayer:`Multijoueur`,singlePlayer:`Solo`,dealer:`Croupier`,dealerShifts:`Selon les services du jour`,dealerAbsent:`Absent`,dealerNumber:`Croupier {n}`}}})),et,tt=n((()=>{et={games:{pachinko:{name:`Pachinko`,summary:`La case décide du lot`,rules:`Choisissez le lot et d'où lâcher la bille\xA0: la case décide de ce que vous gagnez, un petit lot ou un gros\xA0; la case centrale est le jackpot. Les cases avec un tiret ne paient rien.`,bonusRules:`Bonus de la Grande Roue\xA0: le lot reste {prize}. Choisissez d'où lâcher la bille, la case indique ce que vous gagnez.`}},pachinko:{launch:`Lâcher la bille`,hint:`Déplacez la souris sur le plateau pour choisir d'où elle tombe, puis cliquez. Les flèches et la barre d'espace marchent aussi.`,redHits:`Rouges touchés`,powerOn:`Violet activé`,powerOff:`Touchez le violet`,chance:`Probabilité de gain`,detail:`Pachinko · clous colorés`,colorRules:`Les cases avec un tiret ne paient rien\xA0; les autres montent à chaque rouge touché, d'un petit lot jusqu'à un gros. Avec les 8 rouges, la case centrale est le jackpot. L'orbe violet multiplie encore les chances du jour.`,fever:`Fièvre de l’or`,feverTitle:`TOUS LES ROUGES\xA0!`},detail:{pachinko:`case gagnante`}}})),nt,rt=n((()=>{nt={title:`J'ai de la chance`,room:`Salle de jeux`,backToOverview:`Retour à l'aperçu`,backToGames:`Retour aux jeux`,soundOn:`Son activé`,soundOff:`Son coupé`,rules:`Règles`,chips:`Lot des jetons`,ticker:{1:`J'ai de la chance`,2:`Grande Roue\xA0: le jackpot est sur la roue`,3:`Trois ∞ sur la ligne\xA0: jackpot`,4:`Un plein à la roulette vaut le jackpot`,5:`Trois logos identiques sous la pellicule`,6:`La case centrale du Pachinko paie le jackpot`},win:{title:`Vous avez gagné`,jackpot:`Jackpot`},tier:{small:`Petit gain`,big:`Gros gain`,jackpot:`Jackpot`,symbol:{small:`★`,big:`★★`,jackpot:`★★★`}},boost:{badge:`×{n}`,title:`Bonus du jour`,odds:`Bonus du jour\xA0: gains {n} fois plus probables`,dealer:`Croupier à la table`,dealerOdds:`Croupier à la table : gains {n} fois plus probables`},themes:{christmas:{name:`Noël`,greeting:`Joyeuses fêtes\xA0: un lot vous attend sous le sapin`},halloween:{name:`Halloween`,greeting:`Un bonbon ou un lot\xA0?`},easter:{name:`Pâques`,greeting:`Joyeuses Pâques\xA0: qu'y a-t-il dans l'œuf\xA0?`},august:{name:`Août`,greeting:`Bonnes vacances d'été de la part de la salle`}},lobby:{games:`Salle de jeux`,private:`Salon Privé`,privateLine:`Tables réservées`,pager:`Salles`},chipCount:{hint:`Posez jusqu'à {n} jetons`,left:`Encore {n} jetons`,leftOne:`Encore 1 jeton`,none:`Plus de jetons`},cert:{title:`Lot gagné`,prize:`Lot`,variant:`Variante`,fullPrize:`Le lot complet`,wonOn:`Gagné le`,notClaimed:`Non réclamé`,claimed:`Réclamé`,claim:`Réclamer le lot`,claiming:`Réclamation…`,claimFailed:`Le lot n'a pas pu être réclamé. Réessayez.`,seal:`J'AI DE LA CHANCE · LOT GAGNÉ ·`,sealClaimed:`RÉCLAMÉ · J'AI DE LA CHANCE ·`,again:`Rejouer à {game}`,otherGame:`Changer de jeu`}}})),it,at=n((()=>{it={games:{roulette:{name:`Roulette`,summary:`Misez vos jetons, puis lancez la bille`,rules:`Posez jusqu'à {n} jetons d'un même lot, sur le tapis ou avec Nassa, Orphelins et Tiers, qui les placent sur leurs pleins et chevaux\xA0: tous les jetons sont du lot du premier. Le plein gagne le jackpot\xA0; cheval, transversale, carré et sixain un gros lot\xA0; colonnes, douzaines et chances simples un petit lot. Si plusieurs mises gagnent, la meilleure compte.`}},roulette:{launch:`Lancer la bille`,clear:`Retirer les jetons`,table:`Tapis`,call:{made:`Les jeux sont faits`,closed:`Rien ne va plus`},board:{column:`2 à 1`,dozen1:`12P`,dozen2:`12M`,dozen3:`12D`,low:`Manque`,even:`Pair`,odd:`Impair`,high:`Passe`},kind:{straight:`Plein {numbers}`,split:`Cheval {numbers}`,street:`Transversale {numbers}`,corner:`Carré {numbers}`,line:`Sixain {numbers}`},spot:{column:{1:`Colonne 1-34`,2:`Colonne 2-35`,3:`Colonne 3-36`},dozen:{1:`Première douzaine`,2:`Moyenne douzaine`,3:`Dernière douzaine`},chance:{low:`Manque, 1 à 18`,even:`Pair`,red:`Rouge`,black:`Noir`,odd:`Impair`,high:`Passe, 19 à 36`}},track:`Annonces`,announced:{nassa:`Nassa`,orphans:`Orphelins`,tiers:`Tiers`,cost:`{n} jetons`,label:`{name}, {n} jetons`},surface:`Où miser`,storm:{title:`Tempête`,rules:`Roulette Tempête, le bonus du jour. Posez jusqu'à {n} jetons comme à la roulette\xA0; à chaque lancer, une fois les mises closes, la foudre frappe 3 numéros qui sortent {m} fois plus souvent. Le plein gagne le jackpot\xA0; chevaux, transversales, carrés et sixains un gros lot\xA0; colonnes, douzaines et chances simples un petit lot.`,odds:`Sortent {n}× plus souvent`,numbers:`Numéros foudre`},undo:`Retirer le dernier jeton`,rebet:`Rejouer la mise`},detail:{roulette:`numéro {n}`,storm:`numéro foudre {n}`}}})),ot,st=n((()=>{ot={games:{scratch:{name:`Grattage`,summary:`Trois logos identiques`,rules:`Trois logos identiques gagnent ce lot\xA0; la bande du bas indique ce qu'il rapporte, jusqu'au jackpot.`}},scratch:{title:`Grattez votre lot`,rule:`Trois logos identiques gagnent le lot. La bande du bas indique ce qu'il rapporte.`,award:`gagné`,series:`J'AI DE LA CHANCE · SÉRIE FORTUNE`,watermark:`CHANCE`,revealAll:`Tout gratter`,newTicket:`Nouveau ticket`,hint:`Grattez avec la souris ou le doigt`,locked:`Se gratte avec trois logos identiques`,prize:`LOT`,winningNumbers:`NUMÉROS GAGNANTS`,yourNumbers:`VOS NUMÉROS`,game:`JEU {n}`,topPrize:`LOT MAXIMUM\xA0: LE JACKPOT`,double:{first:`DOUBLE`,second:`CHANCE`,tagline:`2 façons de jouer\xA0!`,rules:`Deux façons de gagner\xA0: un numéro gagnant parmi vos numéros gagne le lot qu'il cache\xA0; trois lots identiques gagnent ce lot. Les logos ne cachent aucun lot\xA0: trois logos identiques gagnent le jackpot.`},forever:{first:`POUR`,middle:`∞`,second:`TOUJOURS`,jackpot:`3 logos identiques\xA0: le jackpot`,pairRule:`Deux lots identiques gagnent ce lot`,rules:`Jeu 1\xA0: un numéro gagnant parmi vos numéros gagne le lot qu'il cache\xA0; les logos ne cachent aucun lot, mais trois logos identiques gagnent le jackpot. Jeu 2\xA0: deux lots identiques gagnent ce lot.`},names:{double:`Double Chance`,forever:`Pour Toujours`},dayRules:`Ticket du jour\xA0: les tickets gagnants sortent {n} fois plus souvent.`},detail:{scratch:{small:`trois logos identiques`,big:`trois logos identiques`,jackpot:`trois logos identiques`,match:`numéro gagnant`,three:`trois lots identiques`,pair:`deux lots identiques`,logos:`trois logos identiques`}}}})),ct,lt=n((()=>{ct={games:{slot:{name:`Slot`,summary:`Trois symboles sur la ligne`,rules:`Deux lots identiques sur la ligne\xA0: un petit lot. Trois lots ou trois 7\xA0: un gros lot. Trois ∞\xA0: le jackpot.`}},slot:{sign:`JACKPOT`,ready:`Tirez le levier`,spinning:`Les rouleaux tournent…`,line:`Sur la ligne`,spin:`Lancer les rouleaux`,lever:`Tirer le levier`,result:{none:`Aucune combinaison`,small:`Paire sur la ligne`,big:`Brelan sur la ligne`,jackpot:`Trois ∞`},names:{takeoff:`Décollage`,breakaway:`Contre-attaque`},takeoff:{rules:`Vol du jour\xA0: les gains sortent {n} fois plus souvent. L'avion décolle et le multiplicateur grimpe\xA0: encaissez avant qu'il s'envole. Dès ×2 vous gagnez un petit lot, dès ×10 un gros lot, à ×50 le jackpot\xA0: plus vous attendez, plus le lot est gros.`,start:`Décoller`,again:`Nouveau vol`,cashOut:`Encaisser {prize}`,cashFrom:`Encaissement dès ×{m}`,ready:`Prêt au décollage`,gone:`Envolé\xA0!`,cashed:`Encaissé à ×{m}\xA0: {prize}`,hint:`Encaissez quand vous voulez\xA0: si l'avion s'envole avant, vous ne gagnez rien`},breakaway:{rules:`Match du jour\xA0: les gains sortent {n} fois plus souvent. Avancez vers le but en choisissant une case par colonne\xA0: l'une cache le défenseur. Chaque colonne franchie fait monter le lot et vous pouvez encaisser quand vous voulez\xA0; devant le but, tirez\xA0: un but vous rapporte ce que vous avez accumulé, jusqu'au jackpot.`,pick:`Choisissez une case de la colonne {n}`,shoot:`Choisissez où tirer`,tackled:`Taclé\xA0! Le lot accumulé est perdu`,goal:`BUT\xA0!`,again:`Nouveau match`,cashOut:`Encaisser {prize}`,cashFrom:`Encaissement dès la colonne {n}`,square:`Colonne {column}, case {row}`,zone:`Tirer dans la zone {n}`}},detail:{slot:{small:`paire sur la ligne`,big:`brelan sur la ligne`,jackpot:`trois ∞`,takeoff:`encaissé à ×{m}`,breakaway:`{n} colonnes franchies`,goal:`but`}}}})),ut,dt=n((()=>{ut={games:{wheel:{name:`Grande Roue`,summary:`Multiplicateur\xA0: lot · Roue\xA0: gain`,rules:`Le Multiplicateur choisit le lot, la roue ce que vous gagnez\xA0: un petit lot ou un gros lot. Pile ou Face, Chasse au Trésor et Pachinko révèlent le gain\xA0; Grande Roue, c’est le jackpot.`}},wheel:{booster:`MULTIPLICATEUR`,spin:`Lancer la roue`,hint:`Ou attrapez la roue et lancez-la\xA0; zoomez sur la roue pour la voir de près`,segment:{coin:`PILE OU FACE`,hunt:`CHASSE AU TRÉSOR`,pachinko:`PACHINKO`,jackpot:`GRANDE ROUE`},pachinkoTitle:`Bonus Pachinko`,pachinkoText:`La bille décide du gain. Le lot reste {prize}.`,toPachinko:`Aller au Pachinko`,boosterRules:`Multiplicateur du jour\xA0: à chaque tour, le Multiplicateur choisit aussi un type de secteur, qui sort {n} fois plus souvent. Le Multiplicateur choisit le lot, la roue ce que vous gagnez\xA0: un petit lot ou un gros lot. Pile ou Face, Chasse au Trésor et Pachinko révèlent le gain\xA0; Grande Roue, c’est le jackpot.`},coin:{text:`Or ou rubis\xA0: la pièce décide du gain.`,gold:`or`,ruby:`rubis`,flip:`Lancer la pièce`},hunt:{text:`Dix-huit cases, un gain sous chacune. Choisissez-en une.`,tile:`Case {n}`},detail:{wheel:{small:`secteur gagnant`,big:`secteur gagnant`,jackpot:`secteur jackpot`,coin:`Pile ou Face`,hunt:`Chasse au Trésor`,pachinko:`bonus Pachinko`}}}})),ft=r({default:()=>pt}),pt,mt=n((()=>{c(),Ze(),$e(),tt(),rt(),at(),st(),lt(),dt(),pt=s(nt,ut,ct,it,et,ot,Xe,Qe)})),ht,gt=n((()=>{ht={games:{blackjack:{name:`Blackjack`,summary:`Schlag die Bank, ohne über 21 zu kommen`,rules:`Setz bis zu 5 Chips eines Preises in den Kreis vor deinem Platz: Alle Chips gehören zum Preis des ersten. Dann schlag die Bank, ohne über 21 zu kommen; die Bank steht bei 17. Auf deine ersten zwei Karten kannst du verdoppeln, mit einem zweiten Stapel Chips und nur einer Karte, oder zwei gleichwertige Karten in zwei Hände mit je einem Stapel teilen; nach dem Teilen zählt die beste Hand, geteilte Asse bekommen nur eine Karte. Gewinnst du die Hand, gibt es den Preis der Chips: einen kleinen Preis, einen großen mit einem ausgeteilten Blackjack, Ass und Zehn oder Bild. Der Pik-Blackjack, Pik-Ass und Pik-Bube, ist der Jackpot.`},holdem:{name:`Texas Hold'em`,summary:`Die beste Hand gegen die Bank`,rules:`Du und die Bank bekommt je zwei Karten, dann kommen die drei Karten des Flops: mitgehen oder aussteigen. Gehst du mit, folgen Turn und River, und die beste Hand aus fünf Karten gewinnt. Ein Sieg mit höchster Karte, Paar, zwei Paaren oder Drilling bringt einen kleinen Preis, mit Straße oder besser einen großen; der Royal Flush ist der Jackpot. Wer aussteigt, verliert die Hand.`}},cards:{you:`Du`,dealer:`Bank`,deal:`Geben`,player:`Spieler`,stand:`Vom Tisch aufstehen`,sit:`Hier hinsetzen`,chooseSeat:`Wähle einen Platz`,dealingIn:`Neue Hand in {seconds}s`,playIn:`{seconds}s zum Spielen`,nextHand:`Du spielst ab der nächsten Hand`},blackjack:{print:`Bank steht bei 17 · Pik-Blackjack: Jackpot`,hit:`Karte`,stand:`Stehen`,double:`Verdoppeln`,split:`Teilen`,bet:`Chip für {prize} setzen`,result:{bust:`Überkauft`,lose:`Die Bank gewinnt`,win:`Du schlägst die Bank`,dealerBust:`Die Bank überkauft sich`,natural:`Blackjack!`,spades:`Pik-Blackjack!`}},holdem:{print:`Die Bank spielt jede Hand · Royal Flush: Jackpot`,call:`Mitgehen`,fold:`Aussteigen`,hands:{highCard:`Höchste Karte`,pair:`Paar`,twoPair:`Zwei Paare`,trips:`Drilling`,straight:`Straße`,flush:`Flush`,fullHouse:`Full House`,quads:`Vierling`,straightFlush:`Straight Flush`,royalFlush:`Royal Flush`},result:{folded:`Du bist ausgestiegen`,won:`Du gewinnst mit {hand}`,lost:`Die Bank gewinnt mit {hand}`,split:`Unentschieden`}},detail:{blackjack:{win:`Hand gewonnen`,dealerBust:`Bank überkauft`,natural:`ausgeteilter Blackjack`,spades:`Pik-Blackjack`},holdem:`gewonnen mit {hand}`}}})),_t,vt=n((()=>{_t={developer:{title:`Entwickler-Steuerung`,restore:`Entwickler-Steuerung öffnen`,minimize:`Auf Symbol verkleinern`,close:`Entwickler-Steuerung schließen`,password:`Passwort`,unlock:`Entsperren`,wrongPassword:`Falsches Passwort.`,hint:`Strg+Umschalt+L öffnet und schließt dieses Fenster. Design und Sprache wechseln sofort; die Spieleinstellungen gelten ab dem Neustart des Spiels.`,game:`Spiel`,multiplier:`Multiplikator`,daily:`Tageswert`,result:`Ergebnis`,automatic:`Automatisch`,loss:`Verlust`,win:`Gewinn`,jackpot:`Jackpot`,decidedBy:`Die erweiterte Einstellung „{field}“ entscheidet das Ergebnis.`,advanced:`Erweitert`,field:{segment:`Feld`,prize:`Preis`,combination:`Kombination`,number:`Zahl`,violet:`Violette Kugel`,pocket:`Fach`,award:`Variante`,storm:`Sturmzahl`,booster:`Multiplikator-Feld`},option:{nothing:`Nichts`,award:`{tier} · {award}`,pair:`Logo-Paar`,logos:`Drei Logos`,sevens:`Drei Siebenen`,infinities:`Dreimal unendlich`,hit:`Getroffen`,miss:`Verfehlt`,pocket:`Fach {n}`,lands:`Kommt`,misses:`Kommt nicht`},about:{roulette:`Die gewählte Zahl kommt immer. Bei einem erzwungenen Ergebnis oder einer Sturmzahl, die kommen soll oder nicht, kommt die Zahl aus denen, die die Einsätze auf dem Tisch zulassen; lässt keine es zu, wird normal gezogen. Mit einem Multiplikator wird das Roulette zum Sturm-Roulette.`,pachinko:`Die violette Kugel gibt es nur beim bunten Pachinko, mit einem Multiplikator. Dort hängt der Preis von den getroffenen Roten ab: Beim Jackpot reihen sich die Roten entlang der Fallbahn auf und die Kugel trifft sie alle.`,wheel:`Mit einem Multiplikator wählt der Multiplikator eine Feldart, die öfter kommt: Hier legst du fest, welche. Das gewählte Feld entscheidet trotzdem, wo das Rad stehen bleibt.`,slot:`Normalerweise läuft der klassische Slot. Am Bonustag tritt der Slot des Tages an seine Stelle, Abheben oder Konter, nach dem Datum gezogen: Hier lässt er sich zusammen mit dem Multiplikator festlegen. Das gezogene Ergebnis ist das Höchste, was erreichbar ist.`,scratch:`Normalerweise gibt es das klassische Los. Am Bonustag tritt das Los des Tages an seine Stelle, eines der beiden Zahlenlose, nach dem Datum gezogen: Hier lässt es sich zusammen mit dem Multiplikator festlegen. Eine ohne Preis gewählte Variante geht an einen Preis, der sie auszahlt.`,blackjack:`Der Kartenschlitten inszeniert das gezogene Ergebnis, egal was der Spieler entscheidet: Mit Gewinn wird die Hand gewonnen, mit Jackpot kommt der Pik-Blackjack.`,holdem:`Die Karten werden aus denen gewählt, die das gezogene Ergebnis ergeben: Mit Gewinn gewinnt man, wenn man mitgeht, mit Jackpot kommt der Royal Flush. Wer aussteigt, verliert die Hand trotzdem.`},reset:`Alle Spiele zurücksetzen`,apply:`Anwenden und Spiel neu starten`,variant:{scratch:`Los des Tages`,slot:`Slot des Tages`},theme:`Saal-Design`,calendar:`Nach Kalender`,noTheme:`Keins`,language:`Sprache`,autoLanguage:`Automatisch`,tables:`Kartentische`,multiplayer:`Mehrspieler`,singlePlayer:`Einzelspieler`,dealer:`Croupier`,dealerShifts:`Nach den Schichten des Tages`,dealerAbsent:`Abwesend`,dealerNumber:`Croupier {n}`}}})),yt,bt=n((()=>{yt={games:{pachinko:{name:`Pachinko`,summary:`Das Fach entscheidet den Preis`,rules:`Wähl den Preis und wo die Kugel fällt: Das Fach entscheidet, was du gewinnst, einen kleinen oder einen großen Preis; das mittlere Fach ist der Jackpot. Fächer mit Strich zahlen nichts.`,bonusRules:`Bonus vom Großen Rad: Der Preis bleibt {prize}. Wähl, wo die Kugel fällt; das Fach zeigt, was du gewinnst.`}},pachinko:{launch:`Kugel fallen lassen`,hint:`Fahr mit der Maus über das Brett, um zu wählen, wo sie fällt, dann klick. Pfeiltasten und Leertaste gehen auch.`,redHits:`Rote getroffen`,powerOn:`Violett aktiv`,powerOff:`Triff den Violetten`,chance:`Gewinnchance`,detail:`Pachinko · bunte Stifte`,colorRules:`Fächer mit Strich zahlen nichts; die anderen steigen mit jedem getroffenen Roten, von einem kleinen bis zu einem großen Preis. Mit allen 8 Roten ist das mittlere Fach der Jackpot. Die violette Kugel vervielfacht die Chancen des Tages noch einmal.`,fever:`Goldfieber`,feverTitle:`ALLE ROTEN!`},detail:{pachinko:`Gewinnfach`}}})),xt,St=n((()=>{xt={title:`Auf gut Glück`,room:`Spielsaal`,backToOverview:`Zur Übersicht`,backToGames:`Zu den Spielen`,soundOn:`Ton an`,soundOff:`Ton aus`,rules:`Regeln`,chips:`Preis der Chips`,ticker:{1:`Auf gut Glück`,2:`Großes Rad: Der Jackpot ist auf dem Rad`,3:`Drei ∞ auf der Linie: Jackpot`,4:`Ein Plein beim Roulette ist den Jackpot wert`,5:`Drei gleiche Logos unter der Rubbelschicht`,6:`Das mittlere Pachinko-Fach zahlt den Jackpot`},win:{title:`Gewonnen`,jackpot:`Jackpot`},tier:{small:`Kleiner Gewinn`,big:`Großer Gewinn`,jackpot:`Jackpot`,symbol:{small:`★`,big:`★★`,jackpot:`★★★`}},boost:{badge:`×{n}`,title:`Bonus des Tages`,odds:`Bonus des Tages: Gewinne {n}-mal so wahrscheinlich`,dealer:`Croupier am Tisch`,dealerOdds:`Croupier am Tisch: Gewinne {n}-mal so wahrscheinlich`},themes:{christmas:{name:`Weihnachten`,greeting:`Frohe Festtage: Unterm Baum wartet ein Preis`},halloween:{name:`Halloween`,greeting:`Süßes oder Preis?`},easter:{name:`Ostern`,greeting:`Frohe Ostern: Was steckt wohl im Ei?`},august:{name:`August`,greeting:`Schöne Sommerferien wünscht der Spielsaal`}},lobby:{games:`Spielsaal`,private:`Salon Privé`,privateLine:`Reservierte Tische`,pager:`Säle`},chipCount:{hint:`Setz bis zu {n} Chips`,left:`Noch {n} Chips`,leftOne:`Noch 1 Chip`,none:`Keine Chips mehr`},cert:{title:`Preis gewonnen`,prize:`Preis`,variant:`Variante`,fullPrize:`Der ganze Preis`,wonOn:`Gewonnen am`,notClaimed:`Einzulösen`,claimed:`Eingelöst`,claim:`Preis einlösen`,claiming:`Wird eingelöst…`,claimFailed:`Der Preis konnte nicht eingelöst werden. Versuch es noch einmal.`,seal:`AUF GUT GLÜCK · PREIS GEWONNEN ·`,sealClaimed:`EINGELÖST · AUF GUT GLÜCK ·`,again:`{game} noch mal spielen`,otherGame:`Spiel wechseln`}}})),Ct,wt=n((()=>{Ct={games:{roulette:{name:`Roulette`,summary:`Setz deine Chips, dann wirf die Kugel`,rules:`Setz bis zu {n} Chips eines Preises, auf den Tisch oder mit Nassa, Orphelins und Tiers, die sie auf ihre Pleins und Chevaux verteilen: Alle Chips gehören zum Preis des ersten. Ein Plein gewinnt den Jackpot; Cheval, Transversale pleine, Carré und Transversale simple einen großen Preis; Kolonnen, Dutzende und einfache Chancen einen kleinen Preis. Gewinnen mehrere Einsätze, zählt der beste.`}},roulette:{launch:`Kugel werfen`,clear:`Chips zurücknehmen`,table:`Tisch`,call:{made:`Les jeux sont faits`,closed:`Rien ne va plus`},board:{column:`2:1`,dozen1:`12P`,dozen2:`12M`,dozen3:`12D`,low:`Manque`,even:`Pair`,odd:`Impair`,high:`Passe`},kind:{straight:`Plein {numbers}`,split:`Cheval {numbers}`,street:`Transversale pleine {numbers}`,corner:`Carré {numbers}`,line:`Transversale simple {numbers}`},spot:{column:{1:`Kolonne 1-34`,2:`Kolonne 2-35`,3:`Kolonne 3-36`},dozen:{1:`Erstes Dutzend`,2:`Mittleres Dutzend`,3:`Letztes Dutzend`},chance:{low:`Manque, 1 bis 18`,even:`Pair`,red:`Rouge`,black:`Noir`,odd:`Impair`,high:`Passe, 19 bis 36`}},track:`Annoncen`,announced:{nassa:`Nassa`,orphans:`Orphelins`,tiers:`Tiers`,cost:`{n} Chips`,label:`{name}, {n} Chips`},surface:`Wo setzen`,storm:{title:`Sturm`,rules:`Sturm-Roulette, der Bonus des Tages. Setz bis zu {n} Chips wie beim Roulette; bei jedem Wurf schlägt nach Rien ne va plus der Blitz in 3 Zahlen ein, die {m}-mal so oft kommen. Ein Plein gewinnt den Jackpot; Chevaux, Transversales pleines, Carrés und Transversales simples einen großen Preis; Kolonnen, Dutzende und einfache Chancen einen kleinen Preis.`,odds:`Kommen {n}× so oft`,numbers:`Blitzzahlen`},undo:`Letzten Chip entfernen`,rebet:`Einsatz wiederholen`},detail:{roulette:`Zahl {n}`,storm:`Blitzzahl {n}`}}})),Tt,Et=n((()=>{Tt={games:{scratch:{name:`Rubbellos`,summary:`Drei gleiche Logos`,rules:`Drei gleiche Logos gewinnen diesen Preis; der Streifen unten zeigt, was er zahlt, bis zum Jackpot.`}},scratch:{title:`Rubbel deinen Preis frei`,rule:`Drei gleiche Logos gewinnen den Preis. Der Streifen unten zeigt, was er zahlt.`,award:`Gewinn`,series:`AUF GUT GLÜCK · SERIE FORTUNA`,watermark:`GLÜCK`,revealAll:`Alles freirubbeln`,newTicket:`Neues Los`,hint:`Rubbel mit der Maus oder dem Finger`,locked:`Freirubbeln mit drei gleichen Logos`,prize:`PREIS`,winningNumbers:`GEWINNZAHLEN`,yourNumbers:`DEINE ZAHLEN`,game:`SPIEL {n}`,topPrize:`HAUPTPREIS: DER JACKPOT`,double:{first:`DOPPEL`,second:`GLÜCK`,tagline:`2 Spiele in einem!`,rules:`Zwei Arten zu gewinnen: Eine Gewinnzahl unter deinen Zahlen gewinnt den Preis darunter; drei gleiche Preise gewinnen diesen Preis. Unter den Logos liegt kein Preis: Drei gleiche Logos gewinnen den Jackpot.`},forever:{first:`FÜR`,middle:`∞`,second:`IMMER`,jackpot:`3 gleiche Logos: der Jackpot`,pairRule:`Zwei gleiche Preise gewinnen diesen Preis`,rules:`Spiel 1: Eine Gewinnzahl unter deinen Zahlen gewinnt den Preis darunter; unter den Logos liegt kein Preis, aber drei gleiche Logos gewinnen den Jackpot. Spiel 2: Zwei gleiche Preise gewinnen diesen Preis.`},names:{double:`Doppelglück`,forever:`Für Immer`},dayRules:`Los des Tages: Gewinnlose kommen {n}-mal so oft.`},detail:{scratch:{small:`drei gleiche Logos`,big:`drei gleiche Logos`,jackpot:`drei gleiche Logos`,match:`Gewinnzahl`,three:`drei gleiche Preise`,pair:`zwei gleiche Preise`,logos:`drei gleiche Logos`}}}})),Dt,Ot=n((()=>{Dt={games:{slot:{name:`Slot`,summary:`Drei Symbole auf der Linie`,rules:`Zwei gleiche Preise auf der Linie: ein kleiner Preis. Drei Preise oder drei 7: ein großer Preis. Drei ∞: der Jackpot.`}},slot:{sign:`JACKPOT`,ready:`Zieh den Hebel`,spinning:`Die Walzen drehen sich…`,line:`Auf der Linie`,spin:`Walzen drehen`,lever:`Hebel ziehen`,result:{none:`Keine Kombination`,small:`Paar auf der Linie`,big:`Drilling auf der Linie`,jackpot:`Drei ∞`},names:{takeoff:`Abheben`,breakaway:`Konter`},takeoff:{rules:`Flug des Tages: Gewinne kommen {n}-mal so oft. Das Flugzeug hebt ab und der Multiplikator steigt: Kassier, bevor es davonfliegt. Ab ×2 gewinnst du einen kleinen Preis, ab ×10 einen großen, bei ×50 den Jackpot: Je länger du wartest, desto größer der Preis.`,start:`Abheben`,again:`Neuer Flug`,cashOut:`{prize} kassieren`,cashFrom:`Kassieren ab ×{m}`,ready:`Bereit zum Abheben`,gone:`Davongeflogen!`,cashed:`Kassiert bei ×{m}: {prize}`,hint:`Kassier, wann du willst: Fliegt das Flugzeug vorher davon, gewinnst du nichts`},breakaway:{rules:`Spiel des Tages: Gewinne kommen {n}-mal so oft. Lauf aufs Tor zu und wähl in jeder Spalte ein Feld: In einem steht der Verteidiger. Jede geschaffte Spalte erhöht den Preis und du kannst jederzeit kassieren; vor dem Tor schießt du: Mit dem Tor gewinnst du, was du gesammelt hast, bis zum Jackpot.`,pick:`Wähl ein Feld in Spalte {n}`,shoot:`Wähl, wohin du schießt`,tackled:`Abgegrätscht! Der gesammelte Preis ist weg`,goal:`TOR!`,again:`Neues Spiel`,cashOut:`{prize} kassieren`,cashFrom:`Kassieren ab Spalte {n}`,square:`Spalte {column}, Feld {row}`,zone:`Auf Zone {n} schießen`}},detail:{slot:{small:`Paar auf der Linie`,big:`Drilling auf der Linie`,jackpot:`drei ∞`,takeoff:`kassiert bei ×{m}`,breakaway:`{n} Spalten geschafft`,goal:`Tor`}}}})),kt,At=n((()=>{kt={games:{wheel:{name:`Großes Rad`,summary:`Multiplikator: Preis · Rad: Gewinn`,rules:`Der Multiplikator wählt den Preis, das Rad den Gewinn: einen kleinen oder einen großen Preis. Kopf oder Zahl, Preisjagd und Pachinko decken den Gewinn auf; Großes Rad ist der Jackpot.`}},wheel:{booster:`MULTIPLIKATOR`,spin:`Rad drehen`,hint:`Oder pack das Rad und schleudere es; zoome auf das Rad, um es aus der Nähe zu sehen`,segment:{coin:`KOPF ODER ZAHL`,hunt:`PREISJAGD`,pachinko:`PACHINKO`,jackpot:`GROSSES RAD`},pachinkoTitle:`Pachinko-Bonus`,pachinkoText:`Die Kugel entscheidet den Gewinn. Der Preis bleibt {prize}.`,toPachinko:`Zum Pachinko`,boosterRules:`Multiplikator des Tages: Bei jeder Drehung wählt der Multiplikator auch eine Feldart, die {n}-mal so oft kommt. Der Multiplikator wählt den Preis, das Rad den Gewinn: einen kleinen oder einen großen Preis. Kopf oder Zahl, Preisjagd und Pachinko decken den Gewinn auf; Großes Rad ist der Jackpot.`},coin:{text:`Gold oder Rubin: Die Münze entscheidet den Gewinn.`,gold:`Gold`,ruby:`Rubin`,flip:`Münze werfen`},hunt:{text:`Achtzehn Felder, unter jedem ein Gewinn. Wähl eins.`,tile:`Feld {n}`},detail:{wheel:{small:`Gewinnfeld`,big:`Gewinnfeld`,jackpot:`Jackpotfeld`,coin:`Kopf oder Zahl`,hunt:`Preisjagd`,pachinko:`Pachinko-Bonus`}}}})),jt=r({default:()=>Mt}),Mt,Nt=n((()=>{c(),gt(),vt(),bt(),St(),wt(),Et(),Ot(),At(),Mt=s(xt,kt,Dt,Ct,yt,Tt,ht,_t)}));async function Pt(e){await Promise.all(e.filter(e=>Ft[e]&&!Lt[e]).map(async e=>Lt[e]=(await Ft[e]()).default))}var Ft,It,Lt,Rt,zt,Bt=n((()=>{de(),Ft={it:()=>Promise.resolve().then(()=>(Ae(),Oe)),es:()=>Promise.resolve().then(()=>(Ye(),qe)),fr:()=>Promise.resolve().then(()=>(mt(),ft)),de:()=>Promise.resolve().then(()=>(Nt(),jt))},It=[`en`,...Object.keys(Ft)],Lt={en:ue},Rt=e=>Lt[e],zt=e=>e.every(e=>!Ft[e]||Lt[e])}));function Vt(e){let t=e,n=new Set;return{get value(){return t},set value(e){Object.is(e,t)||(t=e,this.notify())},subscribe(e){return n.add(e),()=>n.delete(e)},notify(){n.forEach(e=>e())}}}var Ht=n((()=>{}));function Ut(){qt.value=Kt(),!(Jt||typeof MutationObserver>`u`)&&(Jt=!0,new MutationObserver(()=>qt.value=Kt()).observe(document.documentElement,{attributes:!0,attributeFilter:[`lang`]}))}function Wt(e,t){let n=e;for(let e of t.split(`.`))n=typeof n==`object`?n[e]:void 0;return typeof n==`string`?n:void 0}function Gt(e,t={}){let n=Yt(e).flatMap(e=>[t[e],Rt(e)]);return(e,t={})=>(n.reduce((t,n)=>t??Wt(n,e),void 0)??e).replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):e)}var Kt,qt,Jt,Yt,Xt,Zt,Qt=n((()=>{Bt(),Ht(),Kt=()=>typeof document<`u`&&document.documentElement.lang||(typeof navigator<`u`?navigator.language:``)||`en`,qt=Vt(Kt()),Jt=!1,Yt=e=>[...new Set([e,e.split(`-`)[0],`en`])],Xt=e=>zt(Yt(e)),Zt=e=>Pt(Yt(e))})),$t,en=n((()=>{$t=`.lk-cards{flex-direction:column;align-items:center;width:min(920px,100cqw - 24px,180cqh - 198px);display:flex}.lk-ctable{--lk-card-w:7cqw;width:100%;padding:0 30px 50px;container-type:inline-size}.lk-ctable-felt{z-index:1;aspect-ratio:9/5;border-radius:0 0 50% 50%/0 0 100% 100%;position:relative;box-shadow:0 46px 60px -10px #000c}.lk-ctable-rail,.lk-ctable-cloth{pointer-events:none;border-radius:0 0 50% 50%/0 0 100% 100%;position:absolute}.lk-ctable-rail{background:#2a120c;inset:-17px;box-shadow:inset 0 0 0 1px #8a6420}.lk-ctable-cloth{background:radial-gradient(60% 70% at 50% 28%,#ffe1aa1f,#0000 70%),radial-gradient(120% 100% at 50% 0,#1d4636,#0a1d16 75%);inset:0;box-shadow:0 0 0 2px #c9a04a,inset 0 0 70px #0000008c}.lk-ctable-rail{-webkit-mask:radial-gradient(calc(100% * var(--lk-notch-x)) calc(100% * var(--lk-notch-y)) at 50% 17px, transparent 99%, #000 100%);mask:radial-gradient(calc(100% * var(--lk-notch-x)) calc(100% * var(--lk-notch-y)) at 50% 17px, transparent 99%, #000 100%)}.lk-ctable-cloth{-webkit-mask:radial-gradient(calc(100% * var(--lk-notch-x)) calc(100% * var(--lk-notch-y)) at 50% 0, transparent 99%, #000 100%);mask:radial-gradient(calc(100% * var(--lk-notch-x)) calc(100% * var(--lk-notch-y)) at 50% 0, transparent 99%, #000 100%)}.lk-ctable-print{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lk-ctable-print text{font:600 15px var(--lk-display-font);letter-spacing:.22em;text-transform:uppercase;fill:#f3d4886b}.lk-ctable-shoe{width:calc(var(--lk-card-w) * 1.05);aspect-ratio:5/7;position:absolute;top:5%;right:9%}.lk-ctable-shoe b{border-radius:calc(var(--lk-card-w) * .1);box-shadow:inset 0 0 0 calc(var(--lk-card-w) * .05) #f3e3bd, 0 3px 6px #00000080;background:repeating-linear-gradient(45deg,#f3d4882e 0 2px,#0000 2px 7px),linear-gradient(160deg,#7d1c24,#3e0b10);position:absolute;inset:0}.lk-ctable-shoe b:nth-child(2){translate:-3px 3px}.lk-ctable-shoe b:nth-child(3){translate:-6px 6px}.lk-ctable-dealer{justify-items:center;gap:6px;display:grid;position:absolute;top:5%;left:50%;translate:-50%}.lk-ctable-centre{justify-items:center;gap:10px;display:grid;position:absolute;top:33%;left:50%;translate:-50%}.lk-cards--blackjack .lk-ctable-centre{top:37%}.lk-cards--blackjack .lk-ctable-player{top:47%}.lk-ctable-bet{position:absolute;top:81%;left:50%;translate:-50% -50%}.lk-bet{width:calc(var(--lk-card-w) * 1.3);aspect-ratio:1;cursor:default;background:radial-gradient(circle,#0003 0 58%,#0000 60%);border:0;border-radius:50%;padding:0;display:block;position:relative;box-shadow:inset 0 0 0 2px #f3d4888c,inset 0 0 0 6px #0000,inset 0 0 0 7px #f3d48838}.lk-bet.is-open{cursor:pointer;animation:1.6s ease-in-out infinite alternate lk-bet-glow}.lk-bet:focus-visible{outline:2px solid var(--lk-gold);outline-offset:3px}@keyframes lk-bet-glow{to{box-shadow:inset 0 0 0 2px #f6dd96,inset 0 0 0 6px #0000,inset 0 0 0 7px #f3d48866,0 0 18px #ffd36e73}}.lk-bet-chip{aspect-ratio:1;width:64%;translate:calc(-50% + var(--stack,0) * 72%) calc(-50% - var(--n) * 4px);transition:translate .35s var(--lk-ease-out);background:radial-gradient(circle, var(--lk-chip) 0 56%, #fbf3df99 57% 59%, transparent 60%), repeating-conic-gradient(from 7deg, #fbf3df 0 16deg, var(--lk-chip) 16deg 45deg);animation:lk-chip-drop .38s var(--lk-ease-expo) both;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 0 1px #00000059,0 2px #00000073}.lk-bet-chip img{width:42%}.lk-bet-chip.is-winning{animation:lk-chip-drop .38s var(--lk-ease-expo) both, lk-chip-win .5s ease-in-out infinite alternate}.lk-cards-rack{margin-top:18px}.lk-cards--blackjack .lk-ctable-player{gap:calc(var(--lk-card-w) * .5)}.lk-split{border-radius:12px;align-items:center;gap:8px;padding:6px 8px;transition:box-shadow .3s;display:flex}.lk-split.is-active{box-shadow:0 0 0 1.5px var(--lk-gold), 0 0 18px #ffd36e73}.lk-hand-total small{color:var(--lk-gold);margin-left:4px;font-size:11px}.lk-cards.is-clearing :is(.lk-card,.lk-bet-chip,.lk-board-slot){animation:lk-card-collect .6s var(--lk-ease-in) forwards}.lk-cards.is-clearing :is(.lk-cards-result,.lk-hand-total,.lk-hand-name b){opacity:0;transition:opacity .4s}@keyframes lk-card-collect{to{opacity:0;transform:translate(calc(var(--lk-card-w,64px) * -5), calc(var(--lk-card-w,64px) * -4)) rotate(-35deg) scale(.8)}}.lk-ctable-player{align-items:center;gap:10px;display:flex;position:absolute;top:59%;left:50%;translate:-50%}.lk-cards--holdem .lk-ctable-player{top:64%}.lk-seat{width:calc(var(--lk-card-w) * .8);aspect-ratio:1;color:#e2bd638c;font-size:calc(var(--lk-card-w) * .4);cursor:help;background:radial-gradient(circle at 40% 30%,#2a1a12,#120a07);border-radius:50%;place-items:center;transition:color .2s,box-shadow .2s;display:grid;position:absolute;translate:-50% -50%;box-shadow:inset 0 0 0 1.5px #e2bd6366,0 4px 10px #00000080}.lk-seat.is-mine{z-index:1;width:calc(var(--lk-card-w) * .8);cursor:default;background:radial-gradient(circle at 40% 30%,#3a1a0b,#1e0d06);overflow:visible;box-shadow:0 0 0 2px #f6dd96,0 0 0 4px #2a120c,0 0 0 5px #a77c2c,0 0 16px #ffd36e8c}.lk-seat.is-mine :is(img,.lk-seat-avatar){border-radius:50%;width:100%;height:100%}.lk-seat-avatar{fill:#e2bd6399}.lk-seat.is-mine b{max-width:calc(var(--lk-card-w) * 2.4);color:#2a1a05;font:700 11px var(--font-sans,inherit);text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(#f6dd96,#d4a94e 55%,#a77c2c);border-radius:999px;padding:2px 10px;position:absolute;top:calc(100% + 4px);left:50%;overflow:hidden;translate:-50%;box-shadow:0 2px 6px #00000080}.lk-hand{display:flex}.lk-hand>.lk-card+.lk-card{margin-left:calc(var(--lk-card-w) * -.42)}.lk-board{gap:calc(var(--lk-card-w) * .12);display:flex}.lk-board-slot{width:var(--lk-card-w);aspect-ratio:5/7;border-radius:calc(var(--lk-card-w) * .1);box-shadow:inset 0 0 0 1.5px #e2bd6340}.lk-hand-name{color:var(--lk-text-muted);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.lk-hand-name b,.lk-hand-total{color:var(--lk-gold-hi);box-shadow:inset 0 0 0 1px var(--lk-gold-line);letter-spacing:0;text-transform:none;background:#120a07;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:700}.lk-hand-total{text-align:center;min-width:34px;animation:.3s both lk-fade-in}.lk-hand-total.is-bust{color:#ff9a8f;box-shadow:inset 0 0 0 1px #ff786e80}.lk-cards-result{box-shadow:inset 0 0 0 1px var(--lk-gold-line);color:var(--lk-text);font:italic 700 18px var(--lk-display-font);white-space:nowrap;background:#080403c7;border-radius:999px;margin:0;padding:6px 18px;animation:.3s both lk-fade-in}.lk-cards-result.is-won{color:#fff3c4;box-shadow:inset 0 0 0 1px var(--lk-gold), 0 0 24px #ffd36e73}.lk-cards-controls{flex-direction:row;gap:12px;margin-top:22px}.lk-card{width:var(--lk-card-w,64px);aspect-ratio:5/7;perspective:700px;animation:lk-card-deal .45s var(--lk-ease-out) both;transition:translate .3s var(--lk-ease-out);flex:none;position:relative}@keyframes lk-card-deal{0%{opacity:0;transform:translate(calc(var(--lk-card-w,64px) * 4), calc(var(--lk-card-w,64px) * -3)) rotate(-28deg)}}.lk-card-turn{transform-style:preserve-3d;transition:transform .55s var(--lk-ease-out);position:absolute;inset:0}.lk-card.is-hidden .lk-card-turn{transform:rotateY(180deg)}.lk-card-face,.lk-card-back{border-radius:calc(var(--lk-card-w,64px) * .1);backface-visibility:hidden;position:absolute;inset:0}.lk-card-face{color:#1a120c;background:linear-gradient(160deg,#fffdf6,#efe6cf);box-shadow:inset 0 0 0 1px #3c280a40,0 4px 10px #00000073}.lk-card.is-red .lk-card-face{color:#b3202b}.lk-card-back{box-shadow:inset 0 0 0 calc(var(--lk-card-w,64px) * .05) #f3e3bd, inset 0 0 0 calc(var(--lk-card-w,64px) * .065) #8a6420, 0 4px 10px #00000073;background:repeating-linear-gradient(45deg,#f3d4882e 0 2px,#0000 2px 7px),repeating-linear-gradient(-45deg,#f3d4882e 0 2px,#0000 2px 7px),linear-gradient(160deg,#7d1c24,#3e0b10);transform:rotateY(180deg)}.lk-card-corner{justify-items:center;line-height:1;display:grid;position:absolute;top:5%;left:8%}.lk-card-corner b{font:700 calc(var(--lk-card-w,64px) * .26) var(--lk-display-font)}.lk-card-corner svg{width:calc(var(--lk-card-w,64px) * .17);fill:currentColor;margin-top:2px}.lk-card-corner.is-turned{inset:auto 8% 5% auto;rotate:180deg}.lk-card-pip{width:calc(var(--lk-card-w,64px) * .44);fill:currentColor;position:absolute;top:50%;left:50%;translate:-50% -50%}.lk-card.is-lit{translate:0 -8px}.lk-card.is-lit .lk-card-face{box-shadow:inset 0 0 0 1px #3c280a40,0 0 0 2px #f6dd96,0 0 18px #ffd36ecc}@media (prefers-reduced-motion:reduce){.lk-page,.lk-veil,.lk-card,.lk-card-turn,.lk-mini-hand .lk-card+.lk-card{transition:none;animation:none}}.lk-cards{transition:width .7s var(--lk-ease-out)}.lk-cards:has(.has-dealer){width:min(920px,100cqw - 24px,132cqh - 79.2px)}.lk-cards-rack{transition:width .7s var(--lk-ease-out), margin-top .7s var(--lk-ease-out)}.lk-cards:has(.has-dealer) .lk-cards-rack{width:calc(100cqw - 56px);margin-top:-58px}.lk-ctable{--lk-notch-x:0;--lk-notch-y:0;transition:--lk-notch-x .7s var(--lk-ease-out), --lk-notch-y .7s var(--lk-ease-out)}.lk-ctable.has-dealer{--lk-card-w:5.6cqw;--lk-notch-x:.18;--lk-notch-y:.13}.lk-ctable-notch{width:calc(200% * var(--lk-notch-x) + 34px);height:calc(200% * var(--lk-notch-y) + 34px);clip-path:inset(calc(50% - 17px) -4px -4px);opacity:0;pointer-events:none;border:16px solid #2a120c;border-radius:50%;transition:opacity .4s;position:absolute;top:0;left:50%;translate:-50% -50%;box-shadow:0 0 0 2px #c9a04a,inset 0 0 0 1px #8a6420}.lk-ctable.has-dealer .lk-ctable-notch{opacity:1}.lk-dealer{pointer-events:none;height:0;transition:height .7s var(--lk-ease-out);position:relative}.lk-ctable.has-dealer .lk-dealer{height:16cqw}.lk-dealer-photo{z-index:0;opacity:0;transform-origin:50% 100%;filter:drop-shadow(0 10px 16px #00000080);width:30cqw;transition:opacity .6s ease, translate .7s var(--lk-ease-out);animation:4.2s ease-in-out infinite alternate lk-dealer-breath;position:absolute;top:0;left:50%;translate:-50% 18%}.lk-dealer-photo.is-shown{opacity:1;transition-delay:.25s;translate:-50%}@starting-style{.lk-dealer-photo.is-shown{opacity:0;translate:-50% 18%}}.lk-dealer-photo.is-hands{z-index:2;filter:none}.lk-dealer-photo.is-hands:not(.is-shown){transition:none}@keyframes lk-dealer-breath{to{transform:translateY(-1.5px)scale(1.006)}}.lk-dealer-photo.is-dealing{animation:.48s ease-in-out infinite alternate lk-dealer-deal}@keyframes lk-dealer-deal{0%{transform:rotate(0)}to{transform:rotate(.8deg)translateY(2px)}}@media (prefers-reduced-motion:reduce){.lk-dealer-photo,.lk-dealer-photo.is-dealing{animation:none}}.lk-ctable-dealer,.lk-ctable-centre,.lk-ctable-player{transition:top .6s var(--lk-ease-out)}.lk-ctable.has-dealer .lk-ctable-dealer{top:27%}.lk-ctable.has-dealer .lk-ctable-centre{top:47%}.lk-cards--blackjack .lk-ctable.has-dealer .lk-ctable-player{top:54%}.lk-cards--holdem .lk-ctable.has-dealer .lk-ctable-player{top:70%}.lk-cards--shared .lk-ctable{--lk-seat-card:7cqw}.lk-cards--shared .lk-ctable.has-dealer{--lk-seat-card:5.6cqw}.lk-cards--shared .lk-ctable-shoe{right:3%}.lk-cards--shared .lk-seat{cursor:default}.lk-seat.is-taken{z-index:1;transition:box-shadow .25s,opacity .25s;overflow:visible;box-shadow:inset 0 0 0 1.5px #e2bd6366,0 4px 10px #00000080}.lk-seat.is-taken :is(img,.lk-seat-avatar){border-radius:50%;width:100%;height:100%}.lk-seat.is-taken b{max-width:calc(var(--lk-card-w) * 2);color:var(--lk-gold-hi);box-shadow:inset 0 0 0 1px var(--lk-gold-line);font:600 11px var(--font-sans,inherit);text-overflow:ellipsis;white-space:nowrap;background:#120a07;border-radius:999px;padding:2px 8px;position:absolute;top:calc(100% + 4px);left:50%;overflow:hidden;translate:-50%}.lk-seat.is-taken.is-in{box-shadow:0 0 0 2px #c9a04a,0 4px 10px #00000080}.lk-seat.is-taken.is-won{box-shadow:0 0 0 2px #f6dd96,0 0 0 4px #2a120c,0 0 0 5px #a77c2c,0 0 16px #ffd36e8c}.lk-seat.is-taken.is-lost{opacity:.6}.lk-seat-play{z-index:1;--lk-card-w:calc(var(--lk-seat-card) * .55);flex-direction:column;align-items:center;gap:6px;transition:opacity .3s;display:flex;position:absolute;translate:-50% -50%}.lk-seat-play.is-mine{z-index:2;--lk-card-w:calc(var(--lk-seat-card) * .78)}.lk-seat-play .lk-split{gap:4px;padding:4px}.lk-seat-play:not(.is-mine) .lk-hand-total{min-width:26px;padding:1px 7px;font-size:11px}.lk-seat-play:not(.is-mine) .lk-bet{box-shadow:none;background:0 0}.lk-seat-play.is-folded{opacity:.35}.lk-cards-status{box-shadow:inset 0 0 0 1px var(--lk-gold-line);color:var(--lk-text-muted);font:600 13px var(--font-sans,inherit);font-variant-numeric:tabular-nums;white-space:nowrap;background:#08040399;border-radius:999px;margin:0;padding:5px 14px;animation:.3s both lk-fade-in}.lk-seat.is-free{border:0;padding:0}.lk-seat.is-free:not(:disabled){cursor:pointer}.lk-seat.is-free:not(:disabled):is(:hover,:focus-visible){color:var(--lk-gold-hi);box-shadow:inset 0 0 0 1.5px var(--lk-gold), 0 0 0 3px #e2bd6333, 0 0 16px #ffd36e73;outline:none}.lk-seat.is-free:after{content:attr(data-tip);box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 6px 16px #0000008c;color:var(--lk-gold-hi);white-space:nowrap;pointer-events:none;opacity:0;background:#1e0d06;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .2s,translate .2s;position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50% 4px}.lk-seat.is-free:not(:disabled):is(:hover,:focus-visible):after{opacity:1;translate:-50%}.lk-seat .lk-seat-leave{z-index:1;aspect-ratio:1;width:44%;box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 0 0 2px #2a120c, 0 3px 8px #0000008c;color:var(--lk-gold);font-size:calc(var(--lk-card-w) * .2);cursor:pointer;background:radial-gradient(circle at 35% 30%,#4a2410,#1e0d06 70%);border:0;border-radius:50%;place-items:center;padding:0;transition:box-shadow .2s,color .2s;animation:.25s both lk-fade-in;display:grid;position:absolute;top:0;right:0;translate:32% -32%}.lk-seat .lk-seat-leave.is-left{left:0;right:auto;translate:-32% -32%}.lk-seat .lk-seat-leave:is(:hover,:focus-visible){color:#fff3c4;box-shadow:inset 0 0 0 1.5px var(--lk-gold-hi), 0 0 0 2px #2a120c, 0 0 14px #ffd36eb3;outline:none}.lk-seat .lk-seat-leave:after{content:attr(data-tip);box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 6px 16px #0000008c;color:var(--lk-gold-hi);font:600 12px var(--font-sans,inherit);white-space:nowrap;pointer-events:none;opacity:0;background:#1e0d06;border-radius:8px;padding:5px 10px;transition:opacity .2s,translate .2s;position:absolute;bottom:calc(100% + 8px);left:50%;translate:-50% 4px}.lk-seat .lk-seat-leave:is(:hover,:focus-visible):after{opacity:1;translate:-50%}`})),tn,nn=n((()=>{tn=`.lk-dev{--dev-bg:oklch(22% .03 55);--dev-surface:oklch(28% .035 55);--dev-line:oklch(62% .1 80);--dev-ink:oklch(96% .03 85);--dev-muted:oklch(82% .04 80);--dev-gold:oklch(78% .12 82);z-index:200;color:var(--dev-ink);font-size:.875rem;line-height:1.45;position:fixed}.lk-dev *,.lk-dev :before,.lk-dev :after{box-sizing:border-box}.lk-dev button{background:0 0;border:0;margin:0;padding:0}.lk-dev button,.lk-dev select,.lk-dev input{font:inherit}.lk-dev-panel{background:var(--dev-bg);border:1px solid var(--dev-line);border-radius:.75rem;flex-direction:column;width:min(26rem,100vw - 16px);max-height:calc(100dvh - 16px);display:flex;overflow:hidden;box-shadow:0 12px 40px oklch(0% 0 0/.55)}.lk-dev header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-bottom:1px solid oklch(62% .1 80/.35);align-items:center;gap:.375rem;padding:.5rem .5rem .5rem .375rem;display:flex}.lk-dev header:active{cursor:grabbing}.lk-dev header strong{flex:1;align-items:center;gap:.5rem;font-weight:600;display:flex}.lk-dev-grip{color:var(--dev-muted)}.lk-dev header button{width:2rem;height:2rem;color:var(--dev-muted);border-radius:.375rem;place-items:center;transition:background-color .15s ease-out,color .15s ease-out;display:grid}.lk-dev header button:hover{color:var(--dev-ink);background:var(--dev-surface)}.lk-dev-body{gap:.75rem;margin:0;padding:.875rem 1rem 1rem;display:grid;overflow-y:auto}.lk-dev-hint,.lk-dev-note{color:var(--dev-muted);text-wrap:pretty;margin:0}.lk-dev-note{font-size:.8125rem}.lk-dev-error{color:oklch(80% .13 25);margin:0}.lk-dev-row{grid-template-columns:7.5rem 1fr;align-items:center;gap:.75rem;display:grid}.lk-dev select,.lk-dev input{min-width:0;height:2.125rem;color:var(--dev-ink);background:var(--dev-surface);border:1px solid oklch(62% .1 80/.6);border-radius:.375rem;margin:0;padding:0 .5rem}.lk-dev select:disabled{opacity:.55}.lk-dev input[aria-invalid=true]{border-color:oklch(70% .16 25)}.lk-dev option{color:var(--dev-ink);background:var(--dev-bg)}.lk-dev-advanced{border-top:1px solid oklch(62% .1 80/.35);padding-top:.75rem}.lk-dev-advanced>:not(summary){margin-top:.75rem}.lk-dev summary{width:fit-content;color:var(--dev-gold);cursor:pointer;align-items:center;gap:.375rem;font-weight:600;list-style:none;display:flex}.lk-dev summary::-webkit-details-marker{display:none}.lk-dev summary .fl-icon{transition:transform .15s ease-out}.lk-dev-advanced[open] summary .fl-icon{transform:rotate(90deg)}.lk-dev footer{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding-top:.25rem;display:flex}.lk-dev footer button{height:2.125rem;color:var(--dev-ink);cursor:pointer;border:1px solid oklch(62% .1 80/.6);border-radius:.375rem;align-items:center;gap:.375rem;padding:0 .75rem;transition:background-color .15s ease-out;display:inline-flex}.lk-dev footer button:hover:not(:disabled){background:var(--dev-surface)}.lk-dev footer button.is-primary{color:oklch(20% .03 60);background:var(--dev-gold);border-color:var(--dev-gold);font-weight:600}.lk-dev footer button.is-primary:hover:not(:disabled){background:oklch(85% .11 85)}.lk-dev footer button:disabled{opacity:.5;cursor:not-allowed}.lk-dev .lk-dev-icon{width:3rem;height:3rem;color:var(--dev-gold);background:var(--dev-bg);border:1px solid var(--dev-line);cursor:grab;touch-action:none;border-radius:50%;place-items:center;font-size:1.25rem;transition:transform .15s ease-out;display:grid;box-shadow:0 8px 24px oklch(0% 0 0/.5)}.lk-dev-icon:hover{transform:scale(1.06)}.lk-dev-icon:active{cursor:grabbing}.lk-dev button:focus-visible,.lk-dev select:focus-visible,.lk-dev input:focus-visible,.lk-dev summary:focus-visible{outline:2px solid var(--dev-ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){.lk-dev header button,.lk-dev footer button,.lk-dev-icon,.lk-dev summary .fl-icon{transition:none}}`})),rn,an=n((()=>{rn=`.lk-pachinko{flex-direction:column;align-items:center;display:flex}.lk-pachinko-cab{background:linear-gradient(#7a3d1c,#4a2410 45%,#2a1208);border-radius:34px 34px 22px 22px;padding:14px;box-shadow:inset 0 0 0 2px #6b4a14,inset 0 0 0 4px #f3d488,inset 0 0 0 6px #8a6420,0 40px 80px -20px #000000d9}.lk-pachinko canvas{aspect-ratio:400/620;touch-action:none;border-radius:24px 24px 12px 12px;width:auto;height:clamp(260px,100cqh - 130px,620px);display:block}.lk-pachinko-controls{align-items:center;gap:22px;margin-top:20px;display:flex}.lk-pachinko canvas.is-aiming{cursor:pointer}.lk-peg-score{color:var(--lk-gold-hi);justify-content:center;align-items:center;gap:24px;margin-bottom:12px;display:flex}.lk-peg-score>span{font-variant-numeric:tabular-nums;grid-template-columns:auto auto;align-items:center;gap:3px 6px;display:grid}.lk-peg-score b{font-size:17px}.lk-peg-score small{color:var(--lk-text-muted);grid-column:1/-1;font-size:11px}.lk-peg-red{color:#ff9aa7}.lk-peg-power{color:#cda9e5}.lk-peg-power.is-active{color:#f4c3ff;text-shadow:0 0 15px #b159ee}.lk-pachinko--color canvas{height:clamp(210px,100cqh - 185px,620px)}.lk-pachinko--color .lk-pachinko-controls{margin-top:12px}.lk-pachinko-cab{position:relative}.lk-peg-fever{z-index:2;pointer-events:none;text-align:center;text-shadow:0 3px #74341b,0 6px 25px #05051a;animation:lk-peg-fever-in .7s var(--lk-ease-expo) both;justify-items:center;gap:6px;display:grid;position:absolute;inset:25% -45% auto;transform:rotate(-8deg)}.lk-peg-fever span{color:#fff4d6;font:italic 700 32px var(--lk-display-font)}.lk-peg-fever strong{color:#ffe18d;font:900 36px var(--lk-display-font)}.lk-pachinko-cab.is-fever{box-shadow:inset 0 0 0 3px #fff1ba,0 0 45px #b279e788,0 0 85px #f9c26f66}.lk-peg-fever:before{content:"";z-index:-1;background:repeating-conic-gradient(#ffd27055 0deg 9deg,#0000 9deg 22.5deg);animation:12s linear infinite lk-peg-rays;position:absolute;inset:-140px -10%;-webkit-mask-image:radial-gradient(#000 5%,#0000 68%);mask-image:radial-gradient(#000 5%,#0000 68%)}@keyframes lk-peg-fever-in{0%{opacity:0;transform:rotate(-8deg)scale(.45)}to{opacity:1;transform:rotate(-8deg)scale(1)}}@media (prefers-reduced-motion:reduce){.lk-peg-fever{animation:none}.lk-peg-fever:before{display:none}}`})),on,sn=n((()=>{on=`:where(.lk-room),:where(.lk-room) *,:where(.lk-room) :before,:where(.lk-room) :after,:where(.lk-room) ::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}:where(.lk-room){-webkit-text-size-adjust:100%;tab-size:4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}:where(.lk-room) :is(h1,h2,h3,h4,h5,h6){font-size:inherit;font-weight:inherit}:where(.lk-room) a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}:where(.lk-room) :is(b,strong){font-weight:bolder}:where(.lk-room) small{font-size:80%}:where(.lk-room) table{text-indent:0;border-color:inherit;border-collapse:collapse}:where(.lk-room) :is(ol,ul,menu){list-style:none}:where(.lk-room) :is(img,svg,video,canvas,audio,iframe,embed,object){vertical-align:middle;display:block}:where(.lk-room) :is(img,video){max-width:100%;height:auto}:where(.lk-room) :is(button,input,select,optgroup,textarea){font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(.lk-room) ::placeholder{opacity:1;color:color-mix(in oklab, currentcolor 50%, transparent)}:where(.lk-room) [hidden]:where(:not([hidden=until-found])){display:none!important}.lk-room{--lk-page:oklch(14% .02 35);--lk-gold:#e2bd63;--lk-gold-hi:#f6e2a6;--lk-gold-lo:#8a6420;--lk-gold-line:#e2bd6366;--lk-wood:#3a1a0b;--lk-wood-deep:#1e0d06;--lk-text-hi:#fbf3df;--lk-text:#eadfc6;--lk-text-muted:#c9bb98;--lk-text-dim:#a29473;--lk-lamp-on:#ffe3a0;--lk-lamp-off:#4a3a1e;--lk-lamp-alt:#fff8e6;--lk-display:#120a05;--lk-display-ink:#ffd889;--lk-seg-1:#1d3561;--lk-seg-2:#c9a04a;--lk-seg-2-ink:#2a1a05;--lk-seg-5:#7d1c24;--lk-seg-10:#efe4c8;--lk-seg-10-ink:#3a240a;--lk-seg-pk:#22584d;--lk-seg-ch:#1c6136;--lk-rl-red:#9e1b22;--lk-rl-red-deep:#6e1218;--lk-rl-black:#17120e;--lk-rl-black-deep:#0c0906;--lk-rl-zero:#156b3c;--lk-rl-zero-deep:#0e4a29;--lk-rl-bowl:#4a2410;--lk-rl-track:#6b3519;--lk-rl-cone:#8a4a24;--lk-rl-cone-edge:#3a1a0b;--lk-board-top:#4a2614;--lk-board-bottom:#22100a;--lk-board-line:#f3d48824;--lk-peg:#d4a94e;--lk-felt:radial-gradient(#ffffff0b 1px, transparent 1.4px) 0 0 / 5px 5px, radial-gradient(90% 90% at 50% 40%, oklch(40% .09 158), oklch(23% .06 160) 80%);--lk-display-font:"Playfair Display", Georgia, "Times New Roman", serif;--lk-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", "Fira Code", Menlo, monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";font-family:var(--font-sans);--lk-ease-out:cubic-bezier(.22, 1, .36, 1);--lk-ease-expo:cubic-bezier(.16, 1, .3, 1);--lk-ease-in:cubic-bezier(.55, 0, .85, .4);--lk-shadow-object:0 24px 50px -20px #000000bf, 0 2px 6px #0006;z-index:60;padding-top:env(safe-area-inset-top,0px);color:var(--lk-text);background:radial-gradient(50% 32% at 50% -6%, #ffd68c52, transparent 70%), radial-gradient(70% 55% at 50% 112%, oklch(32% .08 158/.55), transparent 70%), var(--lk-page);clip-path:circle(0 at var(--lk-ox,90%) var(--lk-oy,10%));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-size:14px;position:fixed;inset:0;overflow:clip}.lk-room.is-open{clip-path:circle(150vmax at var(--lk-ox) var(--lk-oy));transition:clip-path .9s var(--lk-ease-expo)}.lk-room.is-closing{clip-path:circle(0 at var(--lk-ox) var(--lk-oy));transition:clip-path .55s var(--lk-ease-in)}.lk-room:not(.is-ready) *{animation-play-state:paused!important}.lk-room button{font:inherit;color:inherit;cursor:pointer}.fl-logo{object-fit:contain}:is(.lk-wheel-logo,.lk-seal-logo)>:is(.fl-icon,.fl-logo){width:100%;height:100%;display:block}.fl-icon{vertical-align:baseline;flex:none;width:1em;height:1em;display:inline-block;overflow:visible}.lk-pools,.lk-beams,.lk-drapes,.lk-twinkles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.lk-pools i{opacity:.5;will-change:transform;border-radius:50%;width:60vmax;height:60vmax;animation:18s ease-in-out infinite alternate lk-pool;position:absolute}.lk-pools i:first-child{background:radial-gradient(closest-side,#ffc46e38,#0000);top:10vh;left:-20vmax}.lk-pools i:nth-child(2){background:radial-gradient(closest-side,oklch(40% .15 20/.35),#0000);animation-duration:23s;animation-delay:-8s;top:30vh;right:-22vmax}@keyframes lk-pool{to{transform:translate(14vmax,-8vmax)scale(1.15)}}.lk-chandelier{pointer-events:none;will-change:transform;background:radial-gradient(closest-side,#ffe2a047,#ffc87814 55%,#0000);width:70vw;height:52vh;animation:6s ease-in-out infinite alternate lk-chandelier;position:absolute;top:-14vh;left:50%;translate:-50%}.lk-chandelier i{background-image:radial-gradient(2px 2px at 20% 40%,#fff,#0000),radial-gradient(1.5px 1.5px at 34% 62%,#ffe9b8,#0000),radial-gradient(2px 2px at 47% 30%,#fff,#0000),radial-gradient(1.5px 1.5px at 58% 70%,#ffe9b8,#0000),radial-gradient(2px 2px at 69% 44%,#fff,#0000),radial-gradient(1.5px 1.5px at 81% 58%,#ffe9b8,#0000),radial-gradient(1.5px 1.5px at 40% 82%,#fff,#0000);animation:1.9s ease-in-out infinite lk-twinkle;position:absolute;inset:20% 22% 30%}@keyframes lk-chandelier{to{opacity:.75;transform:scale(1.04)}}.lk-beams i{opacity:0;will-change:transform;transform-origin:50% 0;background:conic-gradient(from 180deg at 50% 0,#0000 168deg,#ffe6b40f 175deg,#fff0d221 180deg,#ffe6b40f 185deg,#0000 192deg);width:46vmax;height:140%;animation:1.2s .2s forwards lk-beam-on,14s ease-in-out .2s infinite alternate lk-beam;position:absolute;top:-20%}.lk-beams i:first-child{left:0;rotate:-16deg}.lk-beams i:nth-child(2){animation-delay:.4s,-6s;right:-4%;rotate:14deg}@keyframes lk-beam-on{to{opacity:1}}@keyframes lk-beam{0%{transform:rotate(-7deg)}to{transform:rotate(9deg)}}.lk-drapes i{z-index:1;will-change:transform;transform-origin:50% 0;background:linear-gradient(#00000059,#0000 20% 70%,#00000073),repeating-linear-gradient(90deg,oklch(20% .08 20) 0,oklch(34% .13 22) 1.1vw,oklch(22% .09 20) 2.2vw);width:6.5vw;min-width:54px;animation:8s ease-in-out infinite alternate lk-drape;position:absolute;top:0;bottom:0}.lk-drapes i:after{content:"";background:repeating-linear-gradient(90deg,#f3d488 0 3px,#8a6420 3px 6px);height:14px;position:absolute;top:0;left:0;right:0;box-shadow:0 4px 10px #00000080}.lk-drapes i:first-child{left:0;-webkit-mask-image:linear-gradient(90deg,#000 60%,#0000);mask-image:linear-gradient(90deg,#000 60%,#0000)}.lk-drapes i:nth-child(2){animation-delay:-4s;right:0;-webkit-mask-image:linear-gradient(270deg,#000 60%,#0000);mask-image:linear-gradient(270deg,#000 60%,#0000)}@keyframes lk-drape{to{transform:skew(.8deg)scaleX(1.03)}}.lk-twinkles i{background-image:radial-gradient(1.5px 1.5px at 12% 22%,#fff,#0000),radial-gradient(1.5px 1.5px at 31% 64%,#ffe9b8,#0000),radial-gradient(2px 2px at 58% 18%,#fff,#0000),radial-gradient(1.5px 1.5px at 77% 41%,#ffe9b8,#0000),radial-gradient(1.5px 1.5px at 88% 78%,#fff,#0000),radial-gradient(1.5px 1.5px at 44% 86%,#ffe9b8,#0000);animation:3.4s ease-in-out infinite lk-twinkle;position:absolute;inset:0}.lk-twinkles i+i{animation-delay:-1.7s;transform:translate(7%,11%)}@keyframes lk-twinkle{0%,to{opacity:.15}50%{opacity:.8}}.lk-lights,.lk-fx,.lk-guilloche{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lk-guilloche{width:120%;height:120%;inset:-10%;-webkit-mask-image:radial-gradient(60% 55% at 50% 42%,#000 10%,#0000 70%);mask-image:radial-gradient(60% 55% at 50% 42%,#000 10%,#0000 70%)}.lk-fx{z-index:90;position:fixed}.lk-theme-sky{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lk-festoon{top:calc(96px + env(safe-area-inset-top,0px));transition:top .7s var(--lk-ease-expo);z-index:2;pointer-events:none;filter:drop-shadow(0 3px 3px #00000080);height:40px;position:absolute;left:0;right:0;overflow:hidden}.lk-festoon svg{display:block}.lk-fes-thread{stroke:#f3d488b3;stroke-width:.8px}.lk-fes-string{fill:none;stroke:#2a1a12;stroke-width:1.4px}.lk-fes-string--web{stroke:#dcd2eb8c;stroke-width:1px}.lk-fes-fir{fill:none;stroke:#1d4a2c;stroke-width:7px;stroke-linecap:round}.lk-fes-needles{fill:none;stroke:#2f6b3f;stroke-width:9px;stroke-dasharray:1.2 2.4}.lk-fes-light{fill:#ffe3a0;animation:lk-fes-light 1.8s ease-in-out calc(var(--i) * -.6s) infinite}.lk-fes-light:nth-of-type(2n){fill:#ff6b5e}@keyframes lk-fes-light{50%{opacity:.25}}.lk-fes-glow{fill:#ffe08a;animation:2.4s steps(2,end) infinite lk-fes-flicker}@keyframes lk-fes-flicker{40%{fill:#ffb347}}.lk-fes-ribbon{fill:none;stroke:#f3d488;stroke-width:2px;stroke-dasharray:6 3}.lk-scene{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.lk-scene-ground{height:80px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.lk-scene-ground svg{display:block}.lk-scene-side{aspect-ratio:220/280;filter:drop-shadow(0 8px 14px #0000008c);height:clamp(150px,30vh,280px);position:absolute;bottom:6px}.lk-scene-side--left{left:max(4px,.6vw)}.lk-scene-side--right{right:max(4px,.6vw)}.lk-scene-sun{top:calc(118px + env(safe-area-inset-top,0px));filter:drop-shadow(0 0 24px #ffc850b3);width:clamp(90px,13vh,140px);position:absolute;right:1.2vw}.lk-scene-rays{animation:40s linear infinite lk-spin}.lk-scene-waves{animation:4s linear infinite lk-scene-waves}@keyframes lk-scene-waves{to{transform:translate(-70px)}}.lk-scene-light{animation:lk-fes-light 1.6s ease-in-out calc(var(--i) * -.55s) infinite}.lk-scene-star{filter:drop-shadow(0 0 6px #ffd86b)}.lk-scene-flicker{filter:drop-shadow(0 0 6px #ffb347);animation:2.2s steps(3,end) infinite lk-scene-flicker}@keyframes lk-scene-flicker{30%{opacity:.75}60%{opacity:1}80%{opacity:.85}}@media (prefers-reduced-motion:reduce){.lk-fes-light,.lk-fes-glow,.lk-scene-rays,.lk-scene-waves,.lk-scene-light,.lk-scene-flicker{animation:none}}.lk-room[data-theme=christmas] .lk-pools i:first-child{background:radial-gradient(closest-side,oklch(45% .1 150/.35),#0000)}.lk-room[data-theme=christmas] .lk-pools i:nth-child(2){background:radial-gradient(closest-side,oklch(45% .17 25/.4),#0000)}.lk-room[data-theme=halloween] .lk-pools i:first-child{background:radial-gradient(closest-side,oklch(60% .17 55/.3),#0000)}.lk-room[data-theme=halloween] .lk-pools i:nth-child(2){background:radial-gradient(closest-side,oklch(40% .17 305/.45),#0000)}.lk-room[data-theme=easter] .lk-pools i:first-child{background:radial-gradient(closest-side,oklch(75% .09 350/.22),#0000)}.lk-room[data-theme=easter] .lk-pools i:nth-child(2){background:radial-gradient(closest-side,oklch(70% .1 150/.22),#0000)}.lk-room[data-theme=august] .lk-pools i:first-child{background:radial-gradient(closest-side,oklch(72% .15 60/.3),#0000)}.lk-room[data-theme=august] .lk-pools i:nth-child(2){background:radial-gradient(closest-side,oklch(60% .1 195/.3),#0000)}.lk-head{z-index:4;height:60px;padding:0 max(20px, env(safe-area-inset-right,0px)) 0 max(20px, env(safe-area-inset-left,0px));border-bottom:1px solid var(--lk-gold-line);background:linear-gradient(#2a140a,#1a0c06);grid-template-columns:1fr auto 1fr;align-items:center;display:grid;position:relative;box-shadow:0 1px #0009}.lk-head h2{text-align:center;font:700 18px var(--lk-display-font);color:var(--lk-gold-hi);margin:0}.lk-head h2 small{font:500 12px var(--font-sans,inherit);color:var(--lk-text-muted);margin-top:1px;display:block}.lk-head>.lk-btn{justify-self:start}.lk-head .lk-end{justify-content:flex-end;display:flex}.lk-head .lk-sound{width:36px;height:36px;color:var(--lk-gold);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;font-size:20px;transition:color .2s,filter .2s,background-color .2s;display:grid;position:relative}.lk-head .lk-sound .fl-icon{font-size:21px;transition:filter .2s}.lk-head .lk-sound:hover,.lk-head .lk-sound:focus-visible{color:#fff3c4;background:radial-gradient(circle,#ffd36e2e,#0000 70%);outline:none}.lk-head .lk-sound:hover .fl-icon,.lk-head .lk-sound:focus-visible .fl-icon{filter:drop-shadow(0 0 4px #ffe296)drop-shadow(0 0 12px #ffbe50cc)}.lk-head .lk-sound:after{content:attr(data-tip);z-index:10;box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 6px 16px #0000008c;color:var(--lk-gold-hi);white-space:nowrap;pointer-events:none;opacity:0;background:#1e0d06;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .2s,translate .2s;position:absolute;top:calc(100% + 8px);right:0;translate:0 -4px}.lk-head .lk-sound:hover:after,.lk-head .lk-sound:focus-visible:after{opacity:1;translate:0}.lk-ticker{top:calc(60px + env(safe-area-inset-top,0px));z-index:3;border-bottom:1px solid var(--lk-gold-line);background:linear-gradient(#1a0c06,#2a140a 50%,#1a0c06);height:38px;position:absolute;left:0;right:0;overflow:hidden}.lk-ticker:before,.lk-ticker:after{content:"";background:radial-gradient(circle,#fff 0 1.2px,#ffe3a0 2px,#ffc86e59 2.8px,#0000 3.4px) 0/42px 6px repeat-x,radial-gradient(circle,#6b5226 0 1.6px,#0000 2.2px) 0/14px 6px repeat-x;height:6px;animation:.75s steps(3,end) infinite lk-ticker-bulbs;position:absolute;left:0;right:0}.lk-ticker:before{top:1px}.lk-ticker:after{animation-direction:reverse;bottom:1px}@keyframes lk-ticker-bulbs{to{background-position:42px,0}}.lk-ticker-track{will-change:transform;align-items:center;width:max-content;animation:48s linear infinite lk-ticker;display:flex;position:absolute;top:0;bottom:0}.lk-ticker-track>div{align-items:center;display:flex}.lk-ticker span{font:600 13.5px var(--lk-display-font);letter-spacing:.16em;text-transform:uppercase;color:var(--lk-gold-hi);text-shadow:0 0 8px #ffc86e8c;white-space:nowrap}.lk-ticker b{color:var(--lk-gold);margin:0 22px;font-size:10px}@keyframes lk-ticker{to{transform:translate(-50%)}}.lk-view{inset:calc(98px + env(safe-area-inset-top,0px)) 0 0;z-index:2;transition:top .7s var(--lk-ease-expo);position:absolute;overflow:hidden}.lk-ticker{transition:translate .7s var(--lk-ease-expo), opacity .5s ease}.lk-room.is-private .lk-ticker{opacity:0;pointer-events:none;translate:0 -100%}.lk-room.is-private .lk-view{top:calc(60px + env(safe-area-inset-top,0px))}.lk-btn{isolation:isolate;white-space:nowrap;height:32px;transition:background-color .18s ease, box-shadow .18s ease, transform .12s var(--lk-ease-out), filter .18s ease;border:0;border-radius:.6rem;justify-content:center;align-items:center;gap:7px;padding:0 12px 0 10px;font-size:13px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.lk-btn .fl-icon{font-size:16px}.lk-btn:active{transform:translateY(1px)}.lk-btn:focus-visible{outline:2px solid var(--lk-gold);outline-offset:2px}.lk-btn--primary{color:#2a1a05;background:linear-gradient(#f6dd96,#d4a94e 55%,#a77c2c);box-shadow:inset 0 1px #ffffff8c,inset 0 -1px #5a3c0a80,0 8px 20px -8px #e2bd6399}.lk-btn--primary:hover{filter:brightness(1.06)}.lk-btn--primary:after{content:"";z-index:-1;background:linear-gradient(105deg,#0000 35%,#ffffff59 50%,#0000 65%);position:absolute;inset:0;translate:-120%}.lk-btn--primary:not(:disabled):hover:after{transition:translate .8s var(--lk-ease-out);translate:120%}.lk-btn--outline{color:var(--lk-text-hi);box-shadow:inset 0 0 0 1px var(--lk-gold-line);background:#ffffff0a}.lk-btn--outline:hover{background:#e2bd631f}.lk-btn--outline .fl-icon{color:var(--lk-gold)}.lk-btn--lg{border-radius:.75rem;height:44px;padding:0 20px 0 16px;font-size:15px}.lk-btn--lg .fl-icon{font-size:18px}.lk-btn:disabled{cursor:default;filter:grayscale();color:var(--lk-text-dim);background:#1a120c;box-shadow:inset 0 0 0 1px #ffffff14}.lk-bulbs{inset:var(--lk-ring-inset,8px);z-index:3;border-radius:var(--lk-ring-radius,1rem);pointer-events:none;position:absolute}.lk-bulbs:before,.lk-bulbs:after{content:"";border-radius:inherit;border:5px dotted #5a4320;position:absolute;inset:0}.lk-bulbs:after{filter:drop-shadow(0 0 3px #ffc86ef2)drop-shadow(0 0 8px #ffaa3c80);border-color:#ffe3a0;animation:1.2s steps(3,end) infinite lk-bulb-chase;-webkit-mask:repeating-linear-gradient(135deg,#000 0 14px,#0000 14px 42px) 0 0/200% 200%;mask:repeating-linear-gradient(135deg,#000 0 14px,#0000 14px 42px) 0 0/200% 200%}@keyframes lk-bulb-chase{to{-webkit-mask-position:59.4px 0;mask-position:59.4px 0}}@keyframes lk-bulb-flash{50%{opacity:.35;border-color:#fff8e6}}.lk-room.is-celebrating .lk-bulbs:after{animation-duration:.15s}.lk-room.is-jackpot .lk-bulbs:after{animation:.14s step-end infinite lk-bulb-flash;-webkit-mask:none;mask:none}.lk-chips{align-items:center;gap:10px;min-width:0;display:flex}.lk-chips>span{min-width:0;color:var(--lk-gold-hi);text-overflow:ellipsis;white-space:nowrap;margin-left:4px;font-size:13px;font-weight:600;overflow:hidden}.lk-chip{background:radial-gradient(circle, var(--lk-chip) 0 56%, #fbf3df99 57% 59%, transparent 60%), repeating-conic-gradient(from 7deg, #fbf3df 0 16deg, var(--lk-chip) 16deg 45deg);width:40px;height:40px;transition:translate .2s var(--lk-ease-out), box-shadow .2s ease;border:0;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:inset 0 0 0 1px #00000059,0 4px 8px #00000080}.lk-chip img{width:18px}.lk-chip:not(:disabled):hover{translate:0 -2px}.lk-chip.is-chosen{box-shadow:inset 0 0 0 1px #00000059, 0 0 0 2px #1e0d06, 0 0 0 4px var(--lk-gold), 0 0 18px #e2bd638c;translate:0 -3px}.lk-chip:disabled{cursor:default;filter:saturate(.6)}.lk-chip:disabled:not(.is-chosen){opacity:.35}.lk-chips-rack{gap:8px;min-width:0;display:grid}.lk-chip-count{white-space:nowrap;color:var(--lk-text);align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.lk-chip:focus-visible{outline:2px solid var(--lk-gold-hi);outline-offset:4px}.lk-rl-pips{gap:4px;display:flex}.lk-rl-pips i{background:var(--lk-gold);border-radius:50%;width:10px;height:10px;transition:background-color .2s,box-shadow .2s;box-shadow:0 0 6px #e2bd6399}.lk-rl-pips i.is-used{background:#ffffff1a;box-shadow:inset 0 0 0 1px #e2bd6359}.lk-chips-strip{--lk-fade-l:0px;--lk-fade-r:0px;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;max-width:260px;-webkit-mask:linear-gradient(90deg, transparent, #000 var(--lk-fade-l), #000 calc(100% - var(--lk-fade-r)), transparent);mask:linear-gradient(90deg, transparent, #000 var(--lk-fade-l), #000 calc(100% - var(--lk-fade-r)), transparent);gap:10px;margin:-10px;padding:10px;display:flex;overflow-x:auto}.lk-chips-strip::-webkit-scrollbar{display:none}.lk-chips-strip.has-left{--lk-fade-l:34px}.lk-chips-strip.has-right{--lk-fade-r:34px}.lk-chips-strip .lk-chip{scroll-snap-align:center;flex:none}.lk-lobby{max-width:1180px;height:100%;padding:22px max(28px, env(safe-area-inset-right,0px)) 24px max(28px, env(safe-area-inset-left,0px));flex-direction:column;margin:0 auto;display:flex}.lk-grid{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(12,1fr);gap:14px;min-height:0;display:grid}.lk-table{isolation:isolate;text-align:left;box-shadow:inset 0 0 0 1px var(--lk-gold-line), inset 0 0 0 4px #1e0d06, inset 0 0 0 5px #e2bd632e, 0 24px 50px -24px #000000e6;opacity:0;transition:box-shadow .2s ease, transform .2s var(--lk-ease-out);background:linear-gradient(#3a1a0b,#1e0d06);border:0;border-radius:1.35rem;padding:0;display:block;position:relative;overflow:hidden}.lk-room.is-ready .lk-table{animation:lk-table-in .6s var(--lk-ease-expo) forwards;animation-delay:calc(var(--i) * 60ms)}@keyframes lk-table-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.lk-table:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px #e2bd63,inset 0 0 0 4px #1e0d06,inset 0 0 0 5px #e2bd6359,0 30px 60px -22px #ffbe5a66}.lk-table:focus-visible{outline:2px solid var(--lk-gold);outline-offset:3px}.lk-table>.lk-bulbs{--lk-ring-inset:3px;--lk-ring-radius:1.2rem}.lk-table>.lk-bulbs:after{opacity:.65;animation-duration:1.8s}.lk-table:hover>.lk-bulbs:after{opacity:1;animation-duration:.36s}.lk-table-body{grid-template-rows:minmax(0,1fr) auto;display:grid;position:absolute;inset:0}.lk-art{background:conic-gradient(from 180deg at 50% -10%, transparent 160deg, #ffecc814 172deg, #ffecc824 180deg, #ffecc814 188deg, transparent 200deg), var(--lk-felt);min-height:0;box-shadow:inset 0 0 0 1px var(--lk-gold-line), inset 0 0 40px #0000008c;border-radius:calc(1.35rem - 6px);place-items:center;margin:6px 6px 0;display:grid;position:relative;overflow:hidden}.lk-boost{z-index:4;pointer-events:none;position:absolute}.lk-table>.lk-boost,.lk-machine>.lk-boost{animation:lk-sash-in .9s var(--lk-ease-expo) .2s both}@keyframes lk-sash-in{0%{opacity:0;translate:110px -110px}40%{opacity:1}to{translate:0}}.lk-table>.lk-boost,.lk-machine>.lk-boost{background:linear-gradient(#fff3c4,#d4a94e 60%,#8a6420) top/100% 4px no-repeat,linear-gradient(#8a6420,#d4a94e 40%,#fff3c4) bottom/100% 4px no-repeat,repeating-linear-gradient(90deg,#0000001f 0 2px,#0000 2px 6px),radial-gradient(120% 140%,#c22a33,#7d1c24 55%,#3a080b);justify-content:center;align-items:center;gap:8px;width:270px;height:48px;display:flex;top:54px;right:-58px;overflow:hidden;rotate:45deg;box-shadow:0 0 0 1px #6b4a14,0 8px 18px #0009,0 0 26px #ffbe5a66}.lk-boost:before{content:"";filter:drop-shadow(0 0 2px #ffc86ef2);background:radial-gradient(circle,#fff8e6 0 1.4px,#ffd889 2px,#0000 3px) 0 0/12px 7px repeat-x,radial-gradient(circle,#fff8e6 0 1.4px,#ffd889 2px,#0000 3px) 6px 100%/12px 7px repeat-x;position:absolute;inset:6px 0}.lk-room.is-ready .lk-boost:before{animation:.5s step-end infinite lk-sash-bulbs}@keyframes lk-sash-bulbs{50%{background-position:6px 0,0 100%}}.lk-boost:after{content:"";background:linear-gradient(105deg,#0000 38%,#fff0c873 50%,#0000 62%);position:absolute;inset:0;translate:-120%}.lk-room.is-ready .lk-boost:after{animation:3.2s ease-in-out 1s infinite lk-sash-shine}@keyframes lk-sash-shine{0%{translate:-120%}45%,to{translate:120%}}.lk-boost small,.lk-boost b{z-index:1;color:#f8e3a6;text-shadow:0 1px #3a080b,0 0 8px #ffc86ebf;position:relative}.lk-boost small{font:italic 600 13px var(--lk-display-font);white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.lk-boost small:after{content:"◆";color:var(--lk-gold);font-size:8px}.lk-boost b{font:italic 700 30px/1 var(--lk-display-font);color:#fff1c4}.lk-room.is-ready .lk-boost b{animation:.9s ease-in-out infinite alternate lk-sash-glow}@keyframes lk-sash-glow{to{text-shadow:0 1px #3a080b,0 0 12px #ffd682,0 0 26px #ffaa3ccc}}.lk-meta{grid-template-columns:1fr 16px;align-items:center;gap:12px;min-height:98px;padding:13px 18px 15px;display:grid}.lk-meta b{font:700 19px var(--lk-display-font);color:var(--lk-gold-hi);display:block}.lk-meta small{color:var(--lk-text-muted);margin-top:2px;font-size:13px;display:block}.lk-meta .fl-icon{color:var(--lk-gold);transition:transform .2s var(--lk-ease-out)}.lk-table:hover .lk-meta .fl-icon{transform:translate(2px)}.lk-grid>.lk-table:first-child{grid-area:1/1/span 2/span 6}.lk-grid>.lk-table:nth-child(2){grid-area:1/7/auto/span 3}.lk-grid>.lk-table:nth-child(3){grid-area:1/10/auto/span 3}.lk-grid>.lk-table:nth-child(4){grid-area:2/7/auto/span 3}.lk-grid>.lk-table:nth-child(5){grid-area:2/10/auto/span 3}.lk-mini-wheel{width:auto;height:calc(var(--lk-art-h,250) * .8px);aspect-ratio:1;filter:drop-shadow(0 18px 24px #00000080)}.lk-mini-wheel .lk-lamp{animation:1.8s step-end infinite lk-lamp-idle;animation-delay:calc(var(--i) * -.9s)}.lk-table:hover .lk-mini-wheel .lk-lamp{animation:.7s linear infinite lk-lamp-chase;animation-delay:calc(var(--i) * -.0259s)}.lk-mini-slot{zoom:.4;filter:drop-shadow(0 20px 26px #0000008c);margin-right:46px}.lk-mini-slot .lk-reel ul{transition:filter .4s}@media (height<=720px){.lk-slot,.lk-scratch{zoom:.8}}.lk-table:hover .lk-mini-slot .lk-reel ul{filter:blur(1.4px)}.lk-mini-roulette{width:auto;height:calc(var(--lk-art-h,250) * .8px);aspect-ratio:1;filter:drop-shadow(0 14px 18px #00000080)}.lk-mini-pachinko{height:calc(var(--lk-art-h,250) * .8px);filter:drop-shadow(0 14px 18px #00000073)}.lk-mini-pachinko .lk-ball{animation:2.6s cubic-bezier(.45,0,.9,.6) infinite lk-pachi-fall}.lk-mini-takeoff,.lk-mini-breakaway{height:calc(var(--lk-art-h,250) * .72px);filter:drop-shadow(0 14px 18px #00000080)}.lk-mini-breakaway{height:calc(var(--lk-art-h,250) * .66px);max-width:94%}.lk-mini-trail{filter:drop-shadow(0 0 4px #ffcf5a)}.lk-mini-glint{stroke-dasharray:10 90}.lk-mini-rays{transform-origin:0 190px}.lk-mini-plane{animation:1.6s ease-in-out infinite alternate lk-mini-bob}.lk-mini-nose{filter:drop-shadow(0 0 3px #ff3b3b)}@keyframes lk-mini-bob{to{translate:0 -3px}}.lk-mini-football{filter:drop-shadow(0 0 5px #ffcf5a)}.lk-mini-fan-arms{opacity:0;transition:opacity .2s}.lk-table:hover .lk-mini-fan{animation:lk-mini-cheer .36s ease-in-out var(--d) infinite alternate}.lk-table:hover .lk-mini-fan-arms{opacity:1}@keyframes lk-mini-cheer{to{transform:translateY(-3px)}}.lk-mini-multiplier{font:700 27px var(--lk-display-font);font-variant-numeric:tabular-nums;fill:#f6e2a6}.lk-mini-pachinko .lk-ball--gold{filter:drop-shadow(0 0 5px #ffcf5a)}.lk-mini-pachinko .lk-ball-trail{animation-delay:calc(var(--k) * 32ms)}.lk-mini-storm{place-items:center;display:grid;position:relative}.lk-mini-storm>*,.lk-mini-storm .lk-mini-roulette{grid-area:1/1}.lk-mini-roulette .lk-rl-struck{filter:none}.lk-mini-bolts{z-index:1;width:auto;height:calc(var(--lk-art-h,250) * .8px);aspect-ratio:1;pointer-events:none;position:relative;overflow:visible}.lk-mini-bolts polyline{fill:none;stroke:#fff6d8;stroke-width:3.2px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 3px #ffd36e)drop-shadow(0 0 8px #bfe0ff);opacity:0;animation:lk-mini-strike 2.4s linear var(--d) infinite}@keyframes lk-mini-strike{0%{opacity:0}2%{opacity:1}5%{opacity:.25}8%{opacity:1}24%{opacity:.9}32%,to{opacity:0}}.lk-mini-title{fill:#ffe14d;stroke-width:4px;paint-order:stroke fill;stroke-linejoin:round;font:900 15px Arial Black,Helvetica Neue,Arial,sans-serif}.lk-mini-title--double{stroke:#1d3fa0}.lk-mini-title--forever{stroke:#0f4c9c;font-size:14px}.lk-mini-number{fill:#1d3fa0;font:900 18px Arial Black,Helvetica Neue,Arial,sans-serif}.lk-mini-inf{fill:#0f4c9c;font:900 20px Arial Black,Helvetica Neue,Arial,sans-serif}@keyframes lk-pachi-fall{0%{opacity:0;transform:translate(0)}8%{opacity:1}30%{transform:translate(-12px,52px)}52%{transform:translate(10px,98px)}74%{transform:translate(-6px,146px)}92%{opacity:1;transform:translate(4px,180px)}to{opacity:0;transform:translate(4px,184px)}}.lk-mini-scratch{height:calc(var(--lk-art-h,250) * .8px);filter:drop-shadow(0 14px 18px #00000073);transition:rotate .5s var(--lk-ease-expo);rotate:-6deg}.lk-table:hover .lk-mini-scratch{rotate:-2deg}.lk-mini-scratch .lk-shine{animation:3.6s ease-in-out infinite lk-foil-shine}@keyframes lk-foil-shine{0%,40%{transform:translate(-160px)}to{transform:translate(260px)}}@keyframes lk-spin{to{rotate:360deg}}.lk-stage{max-width:1280px;height:100%;padding:16px max(28px, env(safe-area-inset-right,0px)) 22px max(28px, env(safe-area-inset-left,0px));grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:16px;margin:0 auto;display:grid}.lk-machine{background:var(--lk-felt);box-shadow:inset 0 0 0 1px var(--lk-gold-line), inset 0 0 0 7px #2a140a, inset 0 0 0 8px #e2bd638c, inset 0 0 90px #0000008c, 0 30px 60px -30px #000000e6;border-radius:1.35rem;place-items:center;padding:28px 24px;display:grid;position:relative;overflow:hidden;container-type:size}.lk-machine:before{content:"";pointer-events:none;background:conic-gradient(from 180deg at 50% 0,#0000 158deg,#ffecc80f 170deg,#ffecc81f 180deg,#ffecc80f 190deg,#0000 202deg);width:120%;height:120%;animation:9s ease-in-out infinite alternate lk-spot-sway;position:absolute;top:-10%;left:50%;translate:-50%}@keyframes lk-spot-sway{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}.lk-machine>.lk-backdrop{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(55% 55%,#000 30%,#0000 80%);mask-image:radial-gradient(55% 55%,#000 30%,#0000 80%)}.lk-machine>.lk-bulbs{--lk-ring-inset:14px}.lk-machine[data-state=spinning]>.lk-bulbs:after{animation-duration:.27s}.lk-machine[data-state=won]>.lk-bulbs:after{animation:.22s step-end infinite lk-bulb-flash;-webkit-mask:none;mask:none}.lk-machine>.lk-game{animation:lk-machine-in .8s var(--lk-ease-expo) both;position:relative}@keyframes lk-machine-in{0%{opacity:0;transform:translateY(24px)scale(.97)}}.lk-controls{flex-direction:column;align-items:center;margin-top:30px;display:flex}.lk-hint{color:var(--lk-text-muted);text-align:center;margin-top:8px;font-size:12px}.lk-help{z-index:6;position:absolute;top:26px;left:26px}.lk-help .lk-round:after{content:none}.lk-help .lk-round.is-open{color:#fff3c4;box-shadow:inset 0 0 0 1.5px var(--lk-gold-hi), 0 0 0 3px #e2bd6340, 0 0 22px #ffd36ebf, 0 4px 10px #00000080}.lk-rules{width:min(340px,100cqw - 60px);box-shadow:inset 0 0 0 1px var(--lk-gold-line), inset 0 0 0 4px #1e0d06, inset 0 0 0 5px #e2bd6326, 0 16px 36px #000000a6;animation:lk-rules-in .25s var(--lk-ease-out) both;background:#1e0d06;border-radius:12px;padding:12px 16px 14px;position:absolute;top:calc(100% + 10px);left:0}.lk-rules h4{font:700 17px var(--lk-display-font);color:var(--lk-gold-hi);margin:0 0 6px}.lk-rules p{color:var(--lk-text);text-wrap:pretty;margin:0;font-size:13px;line-height:1.55}@keyframes lk-rules-in{0%{opacity:0;translate:0 -6px}}.lk-room.is-private .lk-machine>.lk-bulbs{display:none}@keyframes lk-lamp-idle{0%{fill:var(--lk-lamp-on)}50%{fill:var(--lk-lamp-off)}}@keyframes lk-lamp-chase{0%,60%{fill:var(--lk-lamp-off)}72%{fill:#fff}86%{fill:var(--lk-lamp-on)}to{fill:var(--lk-lamp-off)}}@keyframes lk-lamp-flash{0%{fill:var(--lk-lamp-on)}50%{fill:var(--lk-lamp-alt)}}@keyframes lk-sym-win{0%{transform:scale(1)}to{transform:scale(1.14)rotate(-4deg)}}@keyframes lk-fade-in{0%{opacity:0}}.lk-win{z-index:80;pointer-events:none;color:#fff;background:radial-gradient(circle,#3c1e0a99,#0c0603e0 70%);place-items:center;animation:.25s both lk-fade-in;display:grid;position:fixed;inset:0;overflow:hidden}.lk-win.is-leaving{animation:.3s forwards lk-fade-out}@keyframes lk-fade-out{to{opacity:0}}.lk-win-flash{background:radial-gradient(circle at 50% 48%,#fff6dcf2,#ffc86e73 35%,#0000 70%);animation:.6s ease-out forwards lk-flash;position:absolute;inset:0}@keyframes lk-flash{0%{opacity:1}to{opacity:0}}.lk-rays{pointer-events:none;width:220vmax;height:220vmax;position:fixed;top:50%;left:50%;translate:-50% -50%;-webkit-mask-image:radial-gradient(circle,#000 0 8%,#00000080 20%,#0000 40%);mask-image:radial-gradient(circle,#000 0 8%,#00000080 20%,#0000 40%)}.lk-rays i{background:repeating-conic-gradient(#f3d4883d 0 6deg, #fff4d61a 6deg 15deg, transparent 15deg 26deg);animation:10s linear infinite lk-spin;position:absolute;inset:0}.lk-rays i+i{background:repeating-conic-gradient(#ffe6aa1f 0 2deg, transparent 2deg 11deg);animation-duration:14s;animation-direction:reverse}.lk-searchlights{pointer-events:none;position:absolute;inset:0}.lk-searchlights i{transform-origin:50% 100%;mix-blend-mode:screen;background:conic-gradient(from -8deg at 50% 100%,#ffecbe52,#ffecbe0d 8deg,#0000 9deg 351deg,#ffecbe0d 352deg);width:70vmax;height:140vmax;animation:1.6s ease-in-out infinite alternate lk-sweep;position:absolute;bottom:-10%;translate:-50%}.lk-searchlights i:first-child{animation-delay:-.4s;left:10%}.lk-searchlights i:nth-child(2){animation-duration:1.2s;left:50%}.lk-searchlights i:nth-child(3){animation-direction:alternate-reverse;animation-delay:-1s;left:90%}@keyframes lk-sweep{0%{transform:rotate(-38deg)}to{transform:rotate(38deg)}}.lk-win.is-jackpot{animation:.25s both lk-fade-in,.45s ease-in-out .3s 6 alternate lk-jackpot-pulse}@keyframes lk-jackpot-pulse{to{background-color:#78460a59}}.lk-win-text{text-align:center;position:relative}.lk-win-text h2{font:italic 700 clamp(60px, 9vw, 96px) var(--lk-display-font);white-space:nowrap;color:#fbe7b0;text-shadow:0 2px #6b4a14,0 0 24px #ffc86eb3,0 0 60px #ffaa3c73;margin:0;line-height:1}.lk-win-text h2 span{animation:.7s cubic-bezier(.2,.9,.3,1.25) both lk-word-in;animation-delay:calc(var(--i) * 35ms);display:inline-block}.lk-win.is-jackpot h2{animation:.5s ease-in-out 1.1s infinite alternate lk-jackpot-glow}.lk-win.is-jackpot h2 span{animation:.36s cubic-bezier(.3,1.3,.5,1) both lk-letter-drop;animation-delay:calc(.26s + var(--i) * .11s)}@keyframes lk-word-in{0%{opacity:0;filter:blur(6px);transform:translateY(30px)scale(.6)}}@keyframes lk-letter-drop{0%{opacity:0;transform:translateY(-70vh)rotate(-12deg)}}@keyframes lk-jackpot-glow{to{text-shadow:0 2px #6b4a14,0 0 34px #ffd682f2,0 0 90px #ffaa3cb3}}.lk-win-text p{color:#f0dfb4;opacity:0;animation:lk-rise .5s var(--lk-ease-expo) .35s forwards;margin:14px 0 0;font-size:17px;font-weight:600}.lk-win.is-jackpot .lk-win-text p{animation-delay:1.2s}.lk-win-text:after{content:"";width:0;height:4px;animation:lk-underline .8s var(--lk-ease-expo) .3s forwards;background:linear-gradient(90deg,#0000,#f3d488,#0000);border-radius:4px;margin:18px auto 0;display:block;box-shadow:0 0 18px #ffc86ecc}.lk-win.is-jackpot .lk-win-text:after{animation-delay:1.1s}@keyframes lk-underline{to{width:240px}}@keyframes lk-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.lk-room.is-celebrating:after{content:"";z-index:4;pointer-events:none;animation:.5s ease-in-out 4 alternate lk-edge-glow;position:absolute;inset:0;box-shadow:inset 0 0 120px #ffc86e8c}@keyframes lk-edge-glow{0%{opacity:.2}to{opacity:1}}.lk-room.is-jackpot .lk-chandelier{opacity:1;animation:.35s ease-in-out infinite alternate lk-chandelier-blaze}@keyframes lk-chandelier-blaze{0%{filter:brightness(1.4);transform:scale(1.1)}to{filter:brightness(2);transform:scale(1.22)}}.lk-room.is-jackpot .lk-ticker:before,.lk-room.is-jackpot .lk-ticker:after{animation-duration:.12s}.lk-cert-layer{z-index:70;padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(8px)saturate(1.2);backdrop-filter:blur(8px)saturate(1.2);background:#0e07039e;place-items:safe center center;animation:.35s both lk-fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.lk-cert{--lk-paper:#f7efdc;--lk-paper-raised:#fbf6ea;--lk-ink-hi:#2a1a0a;--lk-ink:#3d2b14;--lk-ink-muted:#6e5a3a;--lk-ink-dim:#857050;--lk-rule:#8a642029;--lk-edge:#8a642066;width:min(600px,100%);color:var(--lk-ink);background:linear-gradient(#faf3e3,#efe3c6);border-radius:1.35rem;padding:26px 28px 24px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #8a642059,inset 0 0 0 7px #faf3e3,inset 0 0 0 8px #8a642073,0 40px 90px -30px #000000d9;-webkit-mask:radial-gradient(6px at 11px 0,#0000 6px,#000 6.5px) 0 0/22px 14px repeat-x,linear-gradient(#000 0 0) 0 14px/100% calc(100% - 14px) no-repeat;mask:radial-gradient(6px at 11px 0,#0000 6px,#000 6.5px) 0 0/22px 14px repeat-x,linear-gradient(#000 0 0) 0 14px/100% calc(100% - 14px) no-repeat}.lk-cert.is-printing{animation:lk-cert-print 1.5s var(--lk-ease-expo) both}@keyframes lk-cert-print{0%{clip-path:inset(0 0 100%);transform:translateY(-40px)scale(.92)}55%{clip-path:inset(0);transform:translateY(0)scale(.98)}to{clip-path:inset(0);transform:none}}.lk-gift-box,.lk-gift-lid{z-index:2;pointer-events:none;position:absolute;left:50%}.lk-gift-box{transform-origin:50% 100%;background:linear-gradient(90deg,#0000 105px,#f3d488 105px 135px,#0000 135px),linear-gradient(#d63040,#9e1b22);border-radius:6px;width:240px;height:150px;margin-left:-120px;bottom:9vh;box-shadow:inset 0 -14px 24px #00000040,0 30px 50px -20px #000c}.lk-gift-lid{z-index:3;transform-origin:50% calc(100% + 142px);background:linear-gradient(90deg,#0000 115px,#f3d488 115px 149px,#0000 149px),linear-gradient(#e8424f,#b32432);border-radius:6px;width:264px;height:40px;margin-left:-132px;bottom:calc(9vh + 142px);box-shadow:0 8px 14px -6px #0009}.lk-gift-lid:before,.lk-gift-lid:after{content:"";border:8px solid #f3d488;border-radius:50%/60% 60% 40% 40%;width:52px;height:34px;margin-bottom:-6px;position:absolute;bottom:100%;left:50%}.lk-gift-lid:before{margin-left:-54px;rotate:-18deg}.lk-gift-lid:after{margin-left:2px;rotate:18deg}:is(.lk-gift-box,.lk-gift-lid).is-wrapped{animation:lk-gift-drop .6s var(--lk-ease-out) both, lk-gift-wiggle .9s .7s ease-in-out infinite}.lk-gift-lid.is-open{animation:lk-gift-lid .8s var(--lk-ease-out) forwards}.lk-gift-box.is-open{animation:lk-gift-away .6s 1.1s var(--lk-ease-in) forwards}@keyframes lk-gift-drop{0%{translate:0 -70vh}70%{translate:0 8px}}@keyframes lk-gift-wiggle{0%,to{rotate:0deg}20%{rotate:-4deg}40%{rotate:3deg}60%{rotate:-2deg}80%{rotate:1deg}}@keyframes lk-gift-lid{to{opacity:0;translate:-90px -46vh;rotate:-40deg}}@keyframes lk-gift-away{to{opacity:0;translate:0 40vh}}.lk-cert.is-rising{z-index:1;animation:1.4s ease-in-out both lk-cert-rise}@keyframes lk-cert-rise{0%{opacity:0;transform:translateY(calc(41vh - 120px))scale(.16)}10%{opacity:1}35%{transform:translateY(calc(41vh - 250px))scale(.3)}70%{transform:translateY(-4vh)scale(.96)}to{transform:none}}.lk-cert.is-stamped{animation:.38s linear lk-cert-hit}@keyframes lk-cert-hit{20%{transform:translate(-3px,2px)rotate(-.4deg)}45%{transform:translate(3px,-1px)rotate(.3deg)}70%{transform:translate(-1px,1px)}}.lk-cert>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lk-cert-head{align-items:center;gap:8px;display:flex;position:relative}.lk-cert-head img{width:20px}.lk-cert-head .lk-cert-logo{width:20px;height:20px;color:var(--lk-gold-lo)}.lk-badge{height:24px;color:var(--lk-ink);background:#efe3c6;border-radius:7px;align-items:center;gap:6px;padding:0 9px 0 7px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1px #8a642040}.lk-badge .fl-icon{font-size:13px}.lk-badge.is-success{color:#6b4a14;animation:lk-value-set .6s var(--lk-ease-expo);background:#e2bd6333;box-shadow:inset 0 0 0 1px #8a642073}.lk-badge--from{color:var(--lk-ink-muted);margin-left:auto}.lk-cert-product{align-items:center;gap:14px;margin:18px 0 4px;padding-right:100px;display:flex;position:relative}.lk-cert-product img{filter:drop-shadow(0 6px 10px #141e3233);width:48px;height:48px}.lk-cert-product h2{font:700 26px var(--lk-display-font);color:var(--lk-ink-hi);margin:0}.lk-cert-product p{color:var(--lk-ink-muted);margin:2px 0 0}.lk-jackpot-tag{vertical-align:5px;color:#2a1a05;font:700 11px var(--font-sans,inherit);letter-spacing:.02em;background:linear-gradient(90deg,#8a6420,#e2bd63,#8a6420);border-radius:6px;margin-left:8px;padding:2px 8px;display:inline-block}.lk-info{background:var(--lk-paper-raised);border-radius:.5rem;margin-top:16px;position:relative;box-shadow:inset 0 0 0 1px #8a642040}.lk-info-row{border-top:1px solid var(--lk-rule);opacity:0;grid-template-columns:140px 1fr;align-items:baseline;gap:12px;padding:10px 14px;display:grid;transform:translateY(6px)}.lk-info-row:first-child{border-top:0}.lk-cert.is-revealed .lk-info-row{animation:lk-rise .5s var(--lk-ease-expo) forwards;animation-delay:calc(80ms + var(--i) * 70ms)}.lk-info-row span{color:var(--lk-ink-muted);font-size:12.5px}.lk-info-row b{min-width:0;color:var(--lk-ink-hi);overflow-wrap:anywhere;font-weight:500}.lk-info-row b.is-identifier{font:500 12.5px var(--lk-mono);letter-spacing:-.01em}.lk-info-row b.is-pending{color:var(--lk-ink-dim);font-style:italic;font-weight:400}.lk-info-row b.is-forever{color:#6b4a14;font-weight:600}.lk-seal{opacity:0;width:92px;height:92px;position:absolute;top:56px;right:24px}.lk-cert.is-stamped .lk-seal,.lk-cert.is-issued .lk-seal{animation:lk-seal-in .5s var(--lk-ease-expo) forwards}@keyframes lk-seal-in{0%{opacity:0;transform:scale(2.6)rotate(-30deg)}to{opacity:1;transform:rotate(-12deg)}}.lk-seal-holo{background:conic-gradient(#8a6420,#f6e2a6,#c79a3e,#fff3c4,#8a6420,#e2bd63,#8a6420);border-radius:50%;animation:6s linear infinite lk-spin;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 56%,#000 57%);mask:radial-gradient(circle,#0000 56%,#000 57%)}.lk-cert.is-issued .lk-seal-holo{background:conic-gradient(#6b1520,#b23a46,#6b1520,#d4a94e,#6b1520)}.lk-seal svg{width:100%;height:100%;position:absolute;inset:0}.lk-seal-logo{color:var(--lk-gold-lo)}.lk-seal-ring{opacity:0;border:2px solid #b08a3a;border-radius:50%;position:absolute;inset:-10px}.lk-cert.is-stamped .lk-seal-ring{animation:lk-ring .7s var(--lk-ease-out) 80ms}@keyframes lk-ring{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(1.8)}}.lk-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex;position:relative}.lk-cert .lk-btn--outline{color:var(--lk-ink-hi);background:#ffffff80;box-shadow:inset 0 0 0 1px #8a642073}.lk-cert .lk-btn--outline:hover{background:#fffc}.lk-cert .lk-btn--outline .fl-icon{color:#8a6420}.lk-cert .lk-btn:disabled{color:var(--lk-ink-dim);background:#e8dcc0}.lk-note{color:var(--lk-ink-muted);gap:8px;margin:14px 0 0;font-size:12.5px;display:flex;position:relative}.lk-spinning{animation:.9s linear infinite lk-spin}@media (prefers-reduced-motion:reduce){.lk-room *,.lk-room :before,.lk-room :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.lk-room.is-open,.lk-room.is-closing{transition:none}}@keyframes lk-peg-rays{to{rotate:360deg}}.lk-lobby{position:relative}.lk-pages{flex:1;min-height:0;position:relative}.lk-page{transform:translateY(calc((var(--index) - var(--page)) * (100% + 160px))) scale(var(--lk-depth,1));transition:transform .9s var(--lk-ease-expo), opacity .7s ease;flex-direction:column;display:flex;position:absolute;inset:0}.lk-page:not(.is-current){--lk-depth:.94;opacity:.2}.lk-pager{top:50%;right:max(6px, env(safe-area-inset-right,0px));z-index:5;gap:10px;display:grid;position:absolute;translate:0 -50%}.lk-pager button{border:1px solid var(--lk-gold);width:10px;height:10px;transition:height .4s var(--lk-ease-out), background-color .3s ease, box-shadow .3s ease;background:0 0;border-radius:999px;padding:0;position:relative}.lk-pager button:hover,.lk-pager button:focus-visible{outline:none;box-shadow:0 0 0 3px #e2bd6340,0 0 12px #ffd36e99}.lk-pager button.is-current{background:var(--lk-gold);height:26px;box-shadow:0 0 10px #ffd36e99}.lk-pager button:after{content:attr(data-tip);box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 6px 16px #0000008c;color:var(--lk-gold-hi);white-space:nowrap;pointer-events:none;opacity:0;background:#1e0d06;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;transition:opacity .2s,translate .2s;position:absolute;top:50%;right:calc(100% + 10px);translate:4px -50%}.lk-pager button:hover:after,.lk-pager button:focus-visible:after{opacity:1;translate:0 -50%}.lk-veil{z-index:1;pointer-events:none;opacity:0;background:radial-gradient(70% 60% at 50% 45%,#28081859,#080306e0 75%),linear-gradient(#14040c80,#0000 30%,#0a030699);transition:opacity 1s;position:absolute;inset:0}.lk-room.is-private .lk-veil{opacity:1}.lk-chandelier,.lk-beams,.lk-lights,.lk-twinkles,.lk-drapes{transition:filter 1s,opacity 1s}.lk-room.is-private :is(.lk-chandelier,.lk-beams,.lk-twinkles){filter:brightness(.3)saturate(.7)}.lk-room.is-private .lk-lights{opacity:.3}.lk-room.is-private .lk-drapes{filter:brightness(.5)saturate(.85)}.lk-room.is-private .lk-festoon{top:calc(58px + env(safe-area-inset-top,0px))}.lk-room.is-private .lk-stage{--lk-felt:radial-gradient(#ffffff08 1px, transparent 1.4px) 0 0 / 5px 5px, radial-gradient(90% 90% at 50% 30%, #2a141c, #0c0608 80%)}.lk-page--private{gap:14px}.lk-private-head{justify-items:center;gap:4px;padding:4px 0 2px;display:grid;position:relative}.lk-private-head h3{z-index:1;font:italic 700 24px var(--lk-display-font);letter-spacing:.06em;color:#f6dfa8;text-shadow:0 0 16px #ffbe6e59;background:linear-gradient(#1c1310,#0a0605);border-radius:8px;margin:0;padding:6px 26px 7px;position:relative;box-shadow:inset 0 0 0 1px #c9a04a,inset 0 0 0 4px #0a0605,inset 0 0 0 5px #c9a04a73,0 10px 24px #0009}.lk-private-head small{z-index:1;color:var(--lk-text-muted);letter-spacing:.32em;text-transform:uppercase;font-size:11px;position:relative}.lk-rope{pointer-events:none;height:34px;position:absolute;top:4px;left:2%;right:2%}.lk-rope:before,.lk-rope:after{content:"";filter:drop-shadow(0 3px 3px #0009);background:0 0;border-bottom:7px solid #8e1424;border-radius:0 0 50% 50%/0 0 100% 100%;width:44%;height:22px;position:absolute;top:10px}.lk-rope:before{left:6px}.lk-rope:after{right:6px}.lk-rope b{background:linear-gradient(90deg,#8a6420,#f6dd96 45%,#a77c2c);border-radius:3px 3px 2px 2px;width:10px;height:40px;position:absolute;top:0;box-shadow:0 6px 10px #00000080}.lk-rope b:before{content:"";background:radial-gradient(circle at 35% 30%,#fff3c4,#d4a94e 55%,#8a6420);border-radius:50%;width:14px;height:14px;position:absolute;top:-7px;left:50%;translate:-50%}.lk-rope b:first-child{left:0}.lk-rope b:last-child{right:0}.lk-grid.lk-grid--private{grid-template-rows:minmax(0,1fr);grid-template-columns:1fr 1fr;gap:18px}.lk-grid--private.lk-grid>.lk-table:nth-child(n){grid-area:auto}.lk-table--private{background:linear-gradient(#17100c,#070504);box-shadow:inset 0 0 0 1px #c9a04a,inset 0 0 0 5px #070504,inset 0 0 0 6px #c9a04a59,0 30px 60px -24px #000000f2}.lk-table--private:hover{box-shadow:inset 0 0 0 1px #f6dd96,inset 0 0 0 5px #070504,inset 0 0 0 6px #c9a04a8c,0 30px 70px -20px #ffbe5a4d}.lk-table--private .lk-art{background:radial-gradient(50% 60% at 50% 0,#ffdeaa2e,#0000 70%),radial-gradient(90% 90% at 50% 40%,#2a141c,#0c0608 80%);transition:background .4s}.lk-table--private:hover .lk-art{background:radial-gradient(55% 70% at 50% 0,#ffdeaa47,#0000 72%),radial-gradient(90% 90% at 50% 40%,#2e1720,#0c0608 80%)}.lk-table--private .lk-meta b{color:#f6dfa8}.lk-mini-cards{aspect-ratio:9/5;--lk-card-w:13cqw;background:radial-gradient(60% 70% at 50% 25%,#ffe1aa1f,#0000 70%),radial-gradient(120% 100% at 50% 0,#1d4636,#0a1d16 75%);border-radius:0 0 50% 50%/0 0 100% 100%;align-content:start;justify-items:center;gap:5%;width:92%;padding-top:4%;display:grid;position:relative;box-shadow:0 0 0 2px #c9a04a,0 0 0 10px #2a120c,0 0 0 11px #8a6420,0 24px 40px -12px #000000d9;container-type:inline-size}.lk-table--holdem .lk-mini-cards{--lk-card-w:10cqw;gap:3%}.lk-mini-hand{display:flex}.lk-mini-hand .lk-card{animation:none}.lk-mini-hand .lk-card+.lk-card{margin-left:calc(var(--lk-card-w) * -.42);transition:margin-left .4s var(--lk-ease-out)}.lk-table:hover .lk-mini-hand .lk-card+.lk-card{margin-left:calc(var(--lk-card-w) * -.12)}.lk-mini-hand.is-board .lk-card+.lk-card,.lk-table:hover .lk-mini-hand.is-board .lk-card+.lk-card{margin-left:calc(var(--lk-card-w) * .1)}`})),cn,ln=n((()=>{cn=`.lk-roulette{grid-template-rows:minmax(0,1fr) auto auto auto;justify-items:center;gap:12px;width:min(880px,100cqw - 16px);height:calc(100cqh - 8px);display:grid}.lk-rl-board{aspect-ratio:1;height:100%;position:relative;container-type:inline-size}.lk-track{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;overflow:visible}.lk-track-cell text{font:700 11px var(--font-sans,inherit);fill:#fbf3df;text-anchor:middle;dominant-baseline:central;pointer-events:none}.lk-track-cell path{transition:filter .2s}.lk-track-cell.is-lit path{filter:brightness(1.7)drop-shadow(0 0 4px #ffe3a0);stroke:#ffe3a0;stroke-width:1.6px}.lk-track-cell.is-result path{stroke:#fff8e6;stroke-width:2px;filter:drop-shadow(0 0 6px #ffe3a0)}.lk-track-sector{cursor:pointer;outline:none}.lk-track-sector path{fill:#120a0559;stroke:#e2bd638c;stroke-width:1px;transition:fill .2s}.lk-track-sector:hover path,.lk-track-sector:focus-visible path{fill:#e2bd6329;stroke:#ffe3a0}.lk-track-sector:focus-visible path{stroke-width:2px}.lk-track-name{font:italic 700 14px var(--lk-display-font);fill:var(--lk-gold-hi);text-anchor:middle;dominant-baseline:central;pointer-events:none}.lk-track-cost{font:600 9.5px var(--font-sans,inherit);fill:var(--lk-text-muted);text-anchor:middle;dominant-baseline:central;pointer-events:none}.lk-track-sector.is-off{cursor:default}.lk-track-sector.is-off text{opacity:.45}.lk-track.is-locked .lk-track-sector{pointer-events:none}.lk-rl-board svg:not(.fl-icon){filter:drop-shadow(0 22px 28px #000000a6);width:100%;height:100%;display:block}.lk-rl-result{z-index:2;aspect-ratio:1;opacity:0;pointer-events:none;border-radius:50%;align-content:center;place-items:center;width:30%;display:grid;position:absolute;top:50%;left:50%;translate:-50% -50%;scale:.6}.lk-rl-result.is-on{opacity:1;transition:opacity .4s ease, scale .6s var(--lk-ease-expo);scale:1}.lk-rl-result b{font-variant-numeric:tabular-nums;color:#fff;font-size:13cqw;font-weight:700;line-height:1}.lk-rl-felt{aspect-ratio:834/284;place-items:center;width:min(80%,93.9718cqh);display:grid;position:relative}.lk-surface-enter-active,.lk-surface-leave-active{transition:opacity .2s ease, translate .25s var(--lk-ease-out)}.lk-surface-enter-from{opacity:0;translate:0 8px}.lk-surface-leave-to{opacity:0;translate:0 -8px}.lk-rl-switch{box-shadow:inset 0 0 0 1px var(--lk-gold-line);background:#120a058c;border-radius:.75rem;padding:3px;display:inline-flex}.lk-rl-switch button{height:28px;color:var(--lk-text-muted);background:0 0;border:0;border-radius:.55rem;align-items:center;gap:7px;padding:0 12px 0 10px;font-size:13px;font-weight:600;transition:background-color .18s,color .18s,box-shadow .18s;display:inline-flex}.lk-rl-switch button .fl-icon{font-size:15px}.lk-rl-switch button:hover{color:var(--lk-text-hi)}.lk-rl-switch button.is-on{color:#2a1a05;background:linear-gradient(#f6dd96,#d4a94e 55%,#a77c2c);box-shadow:inset 0 1px #ffffff8c,0 4px 10px -4px #e2bd6399}.lk-rl-switch button:focus-visible{outline:2px solid var(--lk-gold-hi);outline-offset:2px}.lk-rt{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;overflow:visible}.lk-rt-num{font:700 22px var(--lk-display-font);fill:#fbf3df;text-anchor:middle;dominant-baseline:central}.lk-rt-word{font:italic 600 17px var(--lk-display-font);fill:var(--lk-gold-hi);text-anchor:middle;dominant-baseline:central}.lk-rt-print{transition:opacity .3s}.lk-rt.is-locked .lk-rt-print{opacity:.7}.lk-rt-lit,.lk-rt-chips,.lk-rt-dolly{pointer-events:none}.lk-rt-lit>*{fill:#ffecbe42;stroke:#ffe3a0;stroke-width:2px;filter:drop-shadow(0 0 6px #ffc86ed9)}.lk-rt-hits rect{fill:#0000;cursor:pointer;outline:none}.lk-rt-hits rect:focus-visible{stroke:var(--lk-gold-hi);stroke-width:2.5px}.lk-rt.is-locked .lk-rt-hits{pointer-events:none}.lk-rt-chip{transform-box:fill-box;transform-origin:50%;animation:lk-chip-drop .38s var(--lk-ease-expo) both}@keyframes lk-chip-drop{0%{opacity:0;translate:0 -16px;scale:1.3}}.lk-rt-stack{transition:opacity .4s}.lk-rt-stack.is-lost{opacity:.4}.lk-rt-stack.is-winning{animation:.5s ease-in-out infinite alternate lk-chip-win}@keyframes lk-chip-win{to{filter:drop-shadow(0 0 8px #ffe3a0)drop-shadow(0 0 16px #ffaa3ccc)}}.lk-rt-dolly{animation:lk-dolly-drop .6s var(--lk-ease-expo) both}@keyframes lk-dolly-drop{0%{opacity:0;translate:0 -30px}}.lk-rl-call{z-index:2;pointer-events:none;background:radial-gradient(closest-side,#120a05d1,#120a0573 75%,#0000);border-radius:1rem;place-items:center;margin:0;display:grid;position:absolute;inset:-6px -12px}.lk-rl-call span{font:italic 700 clamp(28px, 5.4cqw, 50px) var(--lk-display-font);color:#f8e3a6;text-shadow:0 1px #6b4a14,0 0 18px #ffc86e99,0 0 40px #ffaa3c59;white-space:nowrap;align-items:center;gap:22px;display:flex}.lk-rl-call span:before,.lk-rl-call span:after{content:"";background:linear-gradient(90deg, transparent, var(--lk-gold));width:clamp(30px,8cqw,90px);height:1px}.lk-rl-call span:after{background:linear-gradient(270deg, transparent, var(--lk-gold))}.lk-call-enter-active{transition:opacity .45s ease, filter .6s ease, letter-spacing .9s var(--lk-ease-expo)}.lk-call-leave-active{transition:opacity .3s,filter .3s}.lk-call-enter-from{opacity:0;filter:blur(8px);letter-spacing:.25em}.lk-call-leave-to{opacity:0;filter:blur(4px)}.lk-rl-rack{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;width:100%;display:grid}.lk-rl-rack>.lk-rl-actions{justify-self:end}.lk-rl-actions{align-items:center;gap:10px;display:flex;position:relative}.lk-rl-quick{flex-direction:column;gap:8px;display:flex;position:absolute;bottom:calc(100% + 12px);right:0}.lk-round{width:36px;height:36px;box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 4px 10px #00000080;color:var(--lk-gold);transition:box-shadow .2s ease, color .2s ease, translate .2s var(--lk-ease-out);background:radial-gradient(circle at 35% 30%,#4a2410,#1e0d06 70%);border:0;border-radius:50%;place-items:center;padding:0;font-size:17px;display:grid;position:relative}.lk-round:not(:disabled):hover,.lk-round:focus-visible{color:#fff3c4;box-shadow:inset 0 0 0 1.5px var(--lk-gold-hi), 0 0 0 3px #e2bd6340, 0 0 22px #ffd36ebf, 0 4px 10px #00000080;outline:none;translate:0 -2px}.lk-round:disabled{opacity:.4;cursor:default}.lk-round:after{content:attr(data-tip);box-shadow:inset 0 0 0 1px var(--lk-gold-line), 0 6px 16px #0000008c;color:var(--lk-gold-hi);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s ease, translate .15s var(--lk-ease-out);background:#1e0d06;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;position:absolute;top:50%;right:calc(100% + 10px);translate:4px -50%}.lk-round:not(:disabled):hover:after,.lk-round:focus-visible:after{opacity:1;translate:0 -50%}.lk-roulette{position:relative}.lk-rl-dark{z-index:3;opacity:0;pointer-events:none;background:#060814;position:absolute;inset:-100vmax}.lk-rl-sky{z-index:3;pointer-events:none;width:calc(100% + 24px);height:calc(100% + 24px);position:absolute;inset:-12px}.lk-rl-bolts{z-index:4;width:clamp(96px,34cqw,124px);box-shadow:inset 0 0 0 1px var(--lk-gold-line), inset 0 0 0 5px #0b0805, inset 0 0 0 6px #e2bd6340, 0 18px 30px -12px #000c, 0 0 26px -8px #ffd36e73;background:linear-gradient(#1a130b,#0b0805);border-radius:1rem;flex-direction:column;align-items:center;gap:clamp(18px,6.4cqw,24px);padding:clamp(12px,4.4cqw,18px) 10px clamp(16px,5cqw,20px);display:flex;position:absolute;top:50%;right:calc(100% + 16cqw);translate:0 -50%}.lk-rl-bolts-title{font:italic 700 clamp(13px, 4.4cqw, 16px) var(--lk-display-font);color:var(--lk-gold-hi);align-items:center;gap:4px;display:inline-flex}.lk-rl-bolts-title .fl-icon{color:#ffd36e;filter:drop-shadow(0 0 4px #ffd36e)}.lk-rl-bolts p{color:var(--lk-text-muted);text-align:center;text-wrap:balance;margin:0;font-size:11.5px;font-weight:600;line-height:1.35}.lk-rl-medallion{background:radial-gradient(circle at 35% 30%,#2a2016,#0b0805 70%);border-radius:50%;place-items:center;width:clamp(40px,17cqw,60px);height:clamp(40px,17cqw,60px);display:grid;position:relative;overflow:visible;box-shadow:0 0 0 2px #0b0805,0 0 0 4px #b8892f,inset 0 0 0 1px #fff3c440,inset 0 6px 14px #000000b3}.lk-rl-medallion>.fl-icon{color:#e2bd6359;font-size:22px}.lk-rl-medallion b{font:700 clamp(17px, 6.8cqw, 24px) var(--lk-display-font);font-variant-numeric:tabular-nums;color:#fff;background:radial-gradient(circle at 35% 30%, color-mix(in oklab, var(--lk-bolt-number) 70%, white), var(--lk-bolt-number) 65%);border-radius:50%;place-items:center;display:grid;position:absolute;inset:0}.lk-rl-medallion.is-rolling b{filter:blur(.4px)}.lk-rl-medallion.is-struck{animation:lk-bolt-in .5s var(--lk-ease-expo) both;box-shadow:0 0 0 2px #0b0805,0 0 0 4px #f6dd96,0 0 22px #ffd36e}.lk-rl-medallion.is-result{animation:lk-bolt-in .5s var(--lk-ease-expo) both, lk-bolt-win .6s ease-in-out infinite alternate}.lk-rl-medallion small{font:800 11px var(--font-sans,inherit);color:#2a1a05;background:linear-gradient(#fff3c4,#d4a94e 55%,#a77c2c);border-radius:999px;padding:1px 7px;animation:.5s cubic-bezier(.2,.9,.3,1.4) .15s both lk-badge-pop;position:absolute;bottom:-10px;box-shadow:0 0 8px #ffd36ecc}.lk-roll-enter-active,.lk-roll-leave-active{transition:translate 70ms linear,opacity 70ms linear}.lk-roll-enter-from{opacity:0;translate:0 -55%}.lk-roll-leave-to{opacity:0;translate:0 55%}.lk-rl-medallion:not(.is-rolling) .lk-roll-enter-active{transition:translate .35s var(--lk-ease-expo), opacity .2s ease}@keyframes lk-bolt-in{0%{filter:brightness(2.6);scale:1.35}}@keyframes lk-badge-pop{0%{opacity:0;scale:0}}@keyframes lk-bolt-win{to{box-shadow:0 0 0 2px #0b0805,0 0 0 4px #fff4d6,0 0 26px #ffd36e,0 0 44px #ffe9a8}}.lk-rt-struck{pointer-events:none}.lk-rt-bolt>path,.lk-rt-bolt>rect{fill:none;stroke:#f6dd96;stroke-width:3px;filter:drop-shadow(0 0 6px #ffd36e)drop-shadow(0 0 14px #ffbe50b3);animation:lk-struck-in .7s var(--lk-ease-expo) both, lk-struck 1.6s .7s ease-in-out infinite alternate}.lk-rt-bolt>g{transform-box:fill-box;transform-origin:50%;animation:lk-badge-in .5s .15s var(--lk-ease-expo) both}.lk-rt-bolt>g rect{stroke:#3a2a10;stroke-width:1px;filter:drop-shadow(0 0 6px #ffd36ee6)}.lk-rt-bolt>g text{font:800 12px var(--font-sans,inherit);fill:#2a1a05;text-anchor:middle;dominant-baseline:central}@keyframes lk-struck-in{0%{fill:#fffffff2;stroke:#fff;stroke-width:8px}to{fill:#fff0}}@keyframes lk-struck{to{stroke:#fff4d6;filter:drop-shadow(0 0 8px #ffe9a8)drop-shadow(0 0 22px #ffbe50e6)}}@keyframes lk-badge-in{0%{opacity:0;scale:.2}}.lk-track-cell.is-struck path{stroke:#f6dd96;stroke-width:2.4px;filter:brightness(1.35)drop-shadow(0 0 6px #ffd36e);animation:1.6s ease-in-out infinite alternate lk-struck}.lk-rl-struck{fill-opacity:.45;filter:drop-shadow(0 0 6px #ffd36e);animation:1.2s ease-in-out infinite alternate lk-pocket-struck}@keyframes lk-pocket-struck{to{fill-opacity:.75}}.lk-rl-result small{font:800 3.6cqw var(--font-sans,inherit);color:#ffe9a8;text-shadow:0 0 8px #ffd36e;align-items:center;gap:2px;margin-top:2px;display:flex}.lk-rl-result.is-struck{animation:.7s ease-in-out infinite alternate lk-result-struck}@keyframes lk-result-struck{0%{box-shadow:0 0 0 4px #f6dd96,0 0 30px #ffd36e}to{box-shadow:0 0 0 5px #fff4d6,0 0 60px #ffd36e,0 0 110px #ffe9a899}}.lk-roulette--storm .lk-rl-board svg:not(.fl-icon){animation:7s linear infinite lk-rl-charge}@keyframes lk-rl-charge{0%,90%,93.5%,to{filter:drop-shadow(0 22px 28px #000000a6)}91%,94.5%{filter:drop-shadow(0 22px 28px #000000a6)drop-shadow(0 0 14px #ffd66ed9)brightness(1.15)}}@media (prefers-reduced-motion:reduce){.lk-rl-medallion.is-struck,.lk-rl-medallion.is-result,.lk-rl-medallion small,.lk-rt-bolt>path,.lk-rt-bolt>rect,.lk-rt-bolt>g,.lk-track-cell.is-struck path,.lk-rl-struck,.lk-rl-result.is-struck,.lk-roulette--storm .lk-rl-board svg:not(.fl-icon){animation:none}}`})),un,dn=n((()=>{un=`.lk-scratch{width:410px}.lk-ticket{color:#2a1a0a;background:linear-gradient(#faf3e3,#efe3c6);border-radius:22px;padding:20px;position:relative;overflow:hidden;rotate:-1.2deg;box-shadow:inset 0 0 0 1px #8a642066,inset 0 0 0 6px #faf3e3,inset 0 0 0 7px #8a642080,0 40px 80px -24px #000000d9}.lk-ticket>svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lk-ticket header{align-items:center;gap:10px;margin-bottom:12px;display:flex;position:relative}.lk-ticket header .fl-icon{aspect-ratio:309/366;color:#7d1c24;width:24px;height:auto}.lk-ticket header b{font:italic 700 20px var(--lk-display-font);color:#7d1c24}.lk-ticket header span{font:600 11px var(--lk-mono);color:#6e5a3a;margin-left:auto}.lk-ticket .lk-rule{color:#6e5a3a;margin:0 0 14px;font-size:12.5px;position:relative}.lk-spots{grid-template-columns:repeat(3,1fr);gap:10px;display:grid;position:relative}.lk-spot{background:#fffaf0;border-radius:14px;place-items:center;height:100px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #8a642073}.lk-spot img{width:52px}.lk-spot svg{width:52px;height:52px}.lk-spot-number{font:800 40px var(--lk-display-font);color:#6e5a3a}.lk-spot.is-match{box-shadow:inset 0 0 0 2px #b08a3a,0 0 0 4px #e2bd6359}.lk-spot.is-match img{animation:lk-sym-win .5s var(--lk-ease-out) infinite alternate}.lk-spot--wide{text-align:center;grid-column:1/-1;height:68px;font-size:22px;font-weight:700}.lk-spot--wide.is-locked .lk-foil{pointer-events:none;filter:brightness(.82)saturate(.7)}.lk-lock{z-index:2;font:italic 600 13px var(--lk-display-font);color:#3a2a10;pointer-events:none;justify-content:center;align-items:center;gap:7px;transition:opacity .4s;display:flex;position:absolute;inset:0}.lk-lock .fl-icon{width:1em;height:1em;font-size:15px}.lk-spot--wide:not(.is-locked) .lk-lock{opacity:0}.lk-spot--wide small{color:#6e5a3a;font-size:11px;font-weight:600;display:block}.lk-foil{cursor:crosshair;touch-action:none;border-radius:14px;width:100%;height:100%;position:absolute;inset:0}.lk-ticket footer{font:600 10.5px var(--lk-mono);color:#6e5a3a;justify-content:space-between;margin-top:14px;display:flex;position:relative}.lk-ticket{-webkit-user-select:none;user-select:none}.lk-ticket .lk-tk-logo{object-fit:contain;width:40px;height:40px}.lk-td-cell:not(:has(>small)){grid-template-rows:1fr}.lk-ticket--double,.lk-ticket--forever{--lk-ticket-font:"Arial Black", "Helvetica Neue", Arial, system-ui, sans-serif}:is(.lk-ticket--double,.lk-ticket--forever) .is-match{box-shadow:0 0 0 3px #ffe14d,0 0 18px 2px #ffe14dd9}:is(.lk-ticket--double,.lk-ticket--forever) .is-match b{animation:lk-sym-win .5s var(--lk-ease-out) infinite alternate}.lk-ticket.lk-ticket--double{color:#fff;background:radial-gradient(circle,#ffffff2e 0 2.5px,#0000 3px) 0 0/16px 16px,radial-gradient(circle,#ffffff1a 0 2.5px,#0000 3px) 8px 8px/16px 16px,radial-gradient(at 50% 0,#f2493d,#c8161e 58%,#990c13);padding:12px 16px 10px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px #990c13,0 40px 80px -24px #000000d9}.lk-td-head{text-align:center;position:relative}.lk-td-head h3{font:900 38px/1 var(--lk-ticket-font);letter-spacing:-.5px;color:#ffe14d;-webkit-text-stroke:7px #1d3fa0;paint-order:stroke fill;text-shadow:0 4px #0f2466;justify-content:center;align-items:center;margin:0;display:flex}.lk-td-head h3 svg{filter:drop-shadow(0 3px #0f2466);width:42px;height:50px;margin:-8px 0 0}.lk-td-head p{font:900 15px var(--lk-ticket-font);color:#fff;-webkit-text-stroke:4px #1d3fa0;paint-order:stroke fill;margin:3px 0 8px}.lk-td-band,.lk-td-yours{background:#2fa7e0;border-radius:12px;padding:5px 10px 10px;position:relative;box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #1d3fa0}.lk-td-yours{background:linear-gradient(#8fd8f5,#5cc0ec);margin-top:10px}.lk-td-band h4,.lk-td-yours h4{text-align:center;font:900 11px var(--lk-ticket-font);letter-spacing:1px;color:#fff;-webkit-text-stroke:3px #1d3fa0;paint-order:stroke fill;margin:0 0 5px}.lk-td-coins{justify-content:center;gap:10px;display:flex}.lk-td-coin{background:#fff8dc;border-radius:50%;place-items:center;width:54px;height:54px;display:grid;position:relative;box-shadow:inset 0 0 0 2px #c99a2e}.lk-td-coin b{font:900 22px var(--lk-ticket-font);color:#1d3fa0}.lk-td-coin .lk-foil{border-radius:50%}.lk-td-grid{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.lk-td-cell{color:#1d3fa0;background:#fffaf0;border-radius:9px;grid-template-rows:1fr auto;place-items:center;height:68px;padding:5px 2px 4px;display:grid;position:relative;box-shadow:inset 0 0 0 1.5px #1d3fa0}.lk-td-cell b{font:900 23px/1 var(--lk-ticket-font)}.lk-td-cell small{font:900 8px/1 var(--lk-ticket-font);letter-spacing:.4px;color:#c8161e;justify-items:center;gap:1px;display:grid}.lk-td-cell small strong,.lk-tf-cell small,.lk-tf-flop b{white-space:nowrap;align-items:center;gap:3px;display:flex}.lk-td-cell small strong img,.lk-tf-cell small img,.lk-tf-flop b img{object-fit:contain;width:11px;height:11px}.lk-td-cell small strong{letter-spacing:0;color:#1d3fa0;white-space:nowrap;font-size:11px}.lk-td-cell .lk-foil{border-radius:9px}.lk-td-foot{font:900 12px var(--lk-ticket-font);color:#ffe14d;-webkit-text-stroke:3px #1d3fa0;paint-order:stroke fill;justify-content:space-between;align-items:center;margin-top:9px;display:flex}.lk-td-foot span{font:600 10px var(--lk-mono);color:#ffd9d6;-webkit-text-stroke:0}.lk-ticket.lk-ticket--forever{color:#0f4c9c;background:linear-gradient(#2b9fe0,#7fd0f5 22%,#c9ecfb 40%,#f3dcab 72%,#e6c27f);padding:10px 14px 8px;box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 5px #1769aa,0 40px 80px -24px #000000d9}.lk-tf-head h3{font:900 33px/1 var(--lk-ticket-font);color:#ffe14d;-webkit-text-stroke:6px #0f4c9c;paint-order:stroke fill;text-shadow:0 3px #082c5e;justify-content:center;align-items:center;gap:6px;margin:0 0 9px;display:flex}.lk-tf-head h3 i{width:30px;height:30px;font:italic 900 12px var(--lk-ticket-font);color:#fff;-webkit-text-stroke:0;text-shadow:none;background:#e5302a;border-radius:50%;place-items:center;display:grid;box-shadow:0 0 0 2px #fff,0 2px 0 2px #082c5e}.lk-tf-game{background:#ffffff4d;border-radius:12px;padding:9px 8px 8px;position:relative;box-shadow:inset 0 0 0 1.5px #ffffffd9}.lk-tf-game+.lk-tf-game{margin-top:10px}.lk-tf-tag{font:italic 900 9.5px var(--lk-ticket-font);color:#fff;background:#e5302a;border-radius:5px;padding:1px 7px;position:absolute;top:-7px;left:-4px;box-shadow:0 0 0 1.5px #fff}.lk-tf-game h4{text-align:center;font:900 10px var(--lk-ticket-font);letter-spacing:1px;color:#0f4c9c;margin:0 0 4px}.lk-tf-sea{align-items:center;gap:8px;margin-bottom:6px;display:flex}.lk-tf-sea>div{flex:1}.lk-tf-boats{justify-content:center;gap:6px;display:flex}.lk-tf-boat{background:#fffaf0;border-radius:9px;place-items:center;width:52px;height:48px;display:grid;position:relative;box-shadow:inset 0 0 0 1.5px #0f4c9c}.lk-tf-boat b{font:900 21px var(--lk-ticket-font);color:#0f4c9c}.lk-tf-boat .lk-foil{border-radius:9px}.lk-tf-jackpot{width:96px;font:900 9.5px/1.15 var(--lk-ticket-font);text-align:center;color:#c8161e;background:#ffe14d;border-radius:10px;justify-items:center;margin:0;padding:6px 6px 7px;display:grid;rotate:-4deg;box-shadow:0 0 0 2px #e5302a,0 3px 0 2px #a3161b}.lk-tf-jackpot b{color:#0f4c9c;font-size:26px;line-height:.9}.lk-tf-beach{background:#fff;border-radius:10px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(5,1fr);gap:3px;height:168px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1.5px #fff}.lk-tf-cell{background:#fffaf0f0;place-content:center;justify-items:center;gap:2px;display:grid;position:relative}.lk-tf-cell b{font:900 19px/1 var(--lk-ticket-font);color:#0f4c9c}.lk-tf-cell small{font:900 9px var(--lk-ticket-font);color:#c8161e}.lk-ticket .lk-tf-cell .lk-tk-logo{width:32px;height:32px}.lk-tf-cell .lk-foil{border-radius:0}.lk-tf-game--two{grid-template-columns:1fr;gap:5px;display:grid}.lk-tf-game--two>span{text-align:center;font:900 10px var(--lk-ticket-font);color:#0f4c9c}.lk-tf-flops{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.lk-tf-flop{background:#fffaf0;border-radius:8px;place-content:center;justify-items:center;gap:2px;height:44px;display:grid;position:relative;box-shadow:inset 0 0 0 1.5px #0f4c9c}.lk-tf-flop b{font:900 12px var(--lk-ticket-font);color:#c8161e}.lk-tf-flop .lk-foil{border-radius:8px}.lk-tf-foot{text-align:right;font:600 10px var(--lk-mono);color:#6b4a14;margin-top:6px}`})),fn,pn=n((()=>{fn=`.lk-slot{width:450px;position:relative}.lk-slot-cab{background:radial-gradient(80% 20% at 50% 0,#ffe6b42e,#0000 70%),linear-gradient(#7a3d1c,#4a2410 45%,#2a1208);border-radius:30px 30px 24px 24px;padding:20px 22px 22px;position:relative;box-shadow:inset 0 0 0 2px #6b4a14,inset 0 0 0 4px #f3d488,inset 0 0 0 6px #8a6420,inset 0 2px 0 7px #ffffff1f,0 40px 80px -20px #000000d9}.lk-slot-sign{background:radial-gradient(circle at 50% 40%,oklch(34% .13 22),oklch(16% .06 20) 80%);border-radius:16px;place-items:center;height:82px;margin-bottom:18px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #d4a94e,inset 0 2px 14px #000000b3}.lk-slot-sign svg{width:100%;height:100%;position:absolute;inset:0}.lk-slot-sign b{font:700 32px var(--lk-display-font);letter-spacing:.14em;color:#ffe3a0;text-shadow:0 1px #6b4a14,0 0 10px #ffc86ecc,0 0 26px #ffa03c80;animation:6s step-end infinite lk-neon;position:relative}@keyframes lk-neon{0%,61%,63%,to{opacity:1}62%{opacity:.55}}.lk-slot-sign:after{content:"";width:40%;animation:lk-sheen 5.5s var(--lk-ease-out) infinite;background:linear-gradient(100deg,#0000,#ffffff1f,#0000);position:absolute;top:0;bottom:0;transform:skew(-18deg)}@keyframes lk-sheen{0%,70%{left:-60%}to{left:130%}}.lk-slot{--lk-lamp-off:#5a4320}.lk-slot-lamp{fill:var(--lk-lamp-off)}.lk-slot.is-idle .lk-slot-lamp{animation:1.4s step-end infinite lk-lamp-idle;animation-delay:calc(var(--i) * -.7s)}.lk-slot.is-spinning .lk-slot-lamp,.lk-table:hover .lk-slot-lamp{animation:.6s linear infinite lk-lamp-chase;animation-delay:calc(var(--i) * -.03s)}.lk-slot.is-won .lk-slot-lamp{animation:.18s step-end infinite lk-lamp-flash;animation-delay:calc(var(--i) * -.09s)}.lk-slot-glass{background:linear-gradient(#f6e2a6,#a77c2c 50%,#f1d892);border-radius:16px;grid-template-columns:repeat(3,1fr);gap:7px;padding:9px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #fff9,0 1px #8a6420}.lk-slot-glass:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 18%,#fff3 26%,#0000 34%),linear-gradient(115deg,#0000 52%,#ffffff14 56%,#0000 60%);border-radius:10px;position:absolute;inset:9px}.lk-reel{background:linear-gradient(#cdbf9c 0%,#fbf6ea 22% 78%,#cdbf9c 100%);border-radius:10px;height:300px;position:relative;overflow:hidden}.lk-reel:after{content:"";pointer-events:none;background:linear-gradient(#1e140a66,#1e140a0f 18%,#0000 34% 66%,#1e140a0f 82%,#1e140a66);position:absolute;inset:0}.lk-reel ul{will-change:transform;margin:0;padding:0;list-style:none}.lk-reel li{place-items:center;height:100px;display:grid}.lk-reel.is-blur ul{filter:blur(1.8px)saturate(1.2)}.lk-reel.is-suspense{animation:.42s ease-in-out infinite alternate lk-suspense}@keyframes lk-suspense{0%{box-shadow:0 0 0 3px #e2bd63}to{box-shadow:0 0 0 4px #9e1b22,0 0 22px #ffc86e99}}.lk-sym{place-items:center;width:72px;height:72px;display:grid}.lk-sym img{filter:drop-shadow(0 3px 2px #0003);width:58px;height:58px}.lk-sym svg{filter:drop-shadow(0 3px 2px #0003);width:64px;height:64px}.lk-reel li.is-win .lk-sym{animation:lk-sym-win .5s var(--lk-ease-out) infinite alternate}.lk-payline{pointer-events:none;background:#9e1b2299;border-radius:2px;height:2px;position:absolute;top:50%;left:4px;right:4px;translate:0 -50%}.lk-slot.is-won .lk-payline{background:#f3d488;height:3px;animation:.24s steps(2,end) 8 lk-payline;box-shadow:0 0 14px #ffcf7a}@keyframes lk-payline{50%{opacity:.2}}.lk-slot-strip{background:radial-gradient(circle,#fff 0 1.5px,#ffe3a0 2.5px,#ffc86e59 3.6px,#0000 5px) 50% 0/12px 54px repeat-y,radial-gradient(circle,#6b5226 0 1.8px,#0000 2.4px) 50% 0/12px 18px repeat-y,linear-gradient(90deg,#6b4a14,#2a1208,#6b4a14);border-radius:6px;width:12px;animation:.9s steps(3,end) infinite lk-strip-bulbs;position:absolute;top:130px;bottom:110px;box-shadow:0 0 14px #ffbe5a40}.lk-slot-strip--left{left:-6px}.lk-slot-strip--right{right:-6px}.lk-slot.is-spinning .lk-slot-strip{animation-duration:.27s}.lk-slot.is-won .lk-slot-strip{animation-duration:.15s}@keyframes lk-strip-bulbs{to{background-position:50% 54px,50% 0,0 0}}.lk-slot-tray{background:#120a05;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding:10px 10px 10px 14px;display:flex;box-shadow:inset 0 0 0 1px #e2bd634d,inset 0 2px 8px #000000b3}.lk-readout span{color:#b3a27b;font-size:11px;font-weight:600;display:block}.lk-readout b{font:600 15px var(--lk-mono);color:#ffd889;text-shadow:0 0 10px #ffbe5a99}.lk-lever{background:0 0;border:0;width:50px;height:240px;padding:0;position:absolute;top:140px;right:-56px}.lk-lever .lk-rod{transform-origin:50% 100%;background:linear-gradient(90deg,#8a6420,#f6e2a6 22%,#b8892f 48%,#fff3c4 72%,#8a6420);border-radius:6px;width:10px;height:170px;position:absolute;bottom:30px;left:20px;box-shadow:0 6px 10px #00000040}.lk-lever .lk-knob{background:radial-gradient(circle at 34% 30%,#fff,#ff8a96 22%,#9e1b2a 62%,#3a0710);border-radius:50%;width:32px;height:32px;position:absolute;top:-26px;left:-11px;box-shadow:0 6px 12px #0000004d}.lk-lever .lk-base{background:linear-gradient(90deg,#8a6420,#f6e2a6 22%,#b8892f 48%,#fff3c4 72%,#8a6420);border-radius:10px;width:38px;height:56px;position:absolute;bottom:6px;left:6px;box-shadow:inset 0 0 0 1px #fff9,0 6px 12px #00000040}.lk-takeoff,.lk-breakaway{flex-direction:column;align-items:center;gap:14px;display:flex}.lk-takeoff .lk-controls,.lk-breakaway .lk-controls{margin-top:4px}.lk-takeoff-screen{aspect-ratio:2;border-radius:22px;width:min(720px,100cqw - 32px);position:relative;overflow:hidden;box-shadow:0 0 0 2px #6b4a14,0 0 0 6px #2a1208,0 0 0 7px #e2bd638c,0 30px 60px -24px #000000d9}.lk-takeoff-screen canvas{width:100%;height:100%;display:block}.lk-takeoff-reading{pointer-events:none;text-align:center;place-content:center;justify-items:center;gap:4px;display:grid;position:absolute;inset:0}.lk-takeoff-reading b{font:700 clamp(44px, 9cqw, 76px) / 1 var(--lk-display-font);font-variant-numeric:tabular-nums;color:var(--lk-gold-hi);text-shadow:0 0 26px #ffd36e73,0 4px #3a2608}.lk-takeoff-reading span{font:italic 600 17px var(--lk-display-font);color:var(--lk-gold)}.lk-takeoff-screen.is-gone .lk-takeoff-reading b{color:#e06a72;text-shadow:0 0 26px #e0566a73,0 4px #3a0a10}.lk-takeoff-screen.is-gone .lk-takeoff-reading span{color:#f0a2a8;font-size:22px}.lk-takeoff-screen.is-cashed .lk-takeoff-reading b{color:#fff6d2}.lk-takeoff-steps{gap:6px;margin:0;padding:0;list-style:none;display:flex}.lk-takeoff-steps li{min-width:62px;box-shadow:inset 0 0 0 1px var(--lk-gold-line);color:var(--lk-text-muted);white-space:nowrap;background:#0000004d;border-radius:10px;justify-items:center;padding:5px 6px;font-size:11.5px;font-weight:700;transition:background .25s,color .25s,box-shadow .25s;display:grid}.lk-takeoff-steps small{font:700 12.5px var(--lk-display-font);color:var(--lk-gold)}.lk-takeoff-steps li.is-reached{box-shadow:inset 0 0 0 1px var(--lk-gold);color:var(--lk-gold-hi);background:#e2bd6329}.lk-takeoff-steps li.is-cashed{color:#2a1a05;background:linear-gradient(#f6dd96,#c99a3e);box-shadow:0 0 16px #e2bd6399}.lk-takeoff-steps li.is-cashed small{color:#2a1a05}.lk-takeoff-steps li.is-jackpot small{color:#fff3c4}.lk-breakaway .lk-btn.is-hidden{visibility:hidden}.lk-field-wrap{aspect-ratio:430/590;height:min(560px,100cqh - 120px);position:relative}.lk-field{filter:drop-shadow(0 26px 40px #0009);width:100%;height:100%;display:block}.lk-field-lines{fill:none;stroke:#e2bd63;stroke-opacity:.55;stroke-width:2px}.lk-field-spot{fill:#e2bd63;fill-opacity:.7;stroke:none}.lk-field-keeper{animation:2.2s ease-in-out infinite alternate lk-keeper-sway}@keyframes lk-keeper-sway{0%{transform:translate(-16px)}to{transform:translate(16px)}}.lk-field-prize rect{fill:#12080499;stroke:#e2bd6373}.lk-field-prize text{font:700 12.5px var(--lk-display-font);fill:var(--lk-gold)}.lk-field-prize.is-jackpot rect{stroke:var(--lk-gold)}.lk-field-prize.is-jackpot text{fill:#fff3c4}.lk-field-prize.is-collected rect{fill:#e2bd63;stroke:#fff3c4}.lk-field-prize.is-collected text{fill:#2a1a05}.lk-field-square{fill:#fffaf00d;stroke:#f6e2a638;stroke-width:1px;transition:fill .2s,stroke .2s}.lk-field-square.is-open{cursor:pointer;fill:#fffaf01f;stroke:#f6e2a6b3;animation:1.4s ease-in-out infinite alternate lk-field-open}.lk-field-square.is-open:hover,.lk-field-square.is-open:focus-visible{fill:#f6e2a64d;stroke:#fff3c4;stroke-width:2px;outline:none}@keyframes lk-field-open{to{stroke:#fff3c4;fill:#f6e2a62e}}.lk-field-square.is-path{fill:#e2bd6347;stroke:var(--lk-gold)}.lk-field-defender{animation:lk-field-tackle .35s var(--lk-ease-expo)}@keyframes lk-field-tackle{0%{opacity:0;transform-origin:50%;scale:.4}}.lk-field-striker{transition:transform .48s var(--lk-ease-out)}.lk-field-ball{filter:drop-shadow(0 0 3px #ffcf5a)}.lk-field.is-tackled .lk-field-striker{filter:grayscale(.7)brightness(.8)}.lk-shot{z-index:3;background:linear-gradient(#0000 30%,#1a5c36 30%);border-radius:12px;flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 0 2px #e2bd6373}.lk-shot-stands{width:100%;height:30%;display:block}.lk-fan{transform-box:fill-box}.lk-fan-arms{opacity:0}.lk-shot.is-celebrating .lk-fan{animation:lk-fan-jump .42s ease-in-out var(--d) infinite alternate}.lk-shot.is-celebrating .lk-fan-arms{opacity:1}@keyframes lk-fan-jump{to{transform:translateY(-6px)}}.lk-shot-goal{aspect-ratio:2.2;background:repeating-linear-gradient(45deg,#ffffff2e 0 1px,#0000 1px 9px),repeating-linear-gradient(-45deg,#ffffff2e 0 1px,#0000 1px 9px),#00000040;border:8px solid #f1d892;border-bottom:0;border-radius:8px 8px 0 0;grid-template:repeat(2,1fr)/repeat(3,1fr);width:86%;margin:6% auto 0;display:grid;position:relative;box-shadow:0 0 24px #e2bd6359}.lk-shot-zone{background:0 0;border:0;border-radius:10px;margin:4px;padding:0;transition:background .2s,box-shadow .2s;box-shadow:inset 0 0 0 1px #f6e2a640}.lk-shot-zone:not(:disabled):hover,.lk-shot-zone:focus-visible{box-shadow:inset 0 0 0 2px var(--lk-gold-hi), 0 0 18px #ffd36e80;background:#f6e2a633;outline:none}.lk-shot-zone:disabled{cursor:default}.lk-shot-keeper{pointer-events:none;width:26%;height:82%;transition:translate .5s var(--lk-ease-out), rotate .5s var(--lk-ease-out);position:absolute;bottom:0;left:50%;translate:-50%}.lk-shot-keeper.is-diving-0{translate:-160% -40%;rotate:-70deg}.lk-shot-keeper.is-diving-1{translate:-50% -45%}.lk-shot-keeper.is-diving-2{translate:60% -40%;rotate:70deg}.lk-shot-keeper.is-diving-3{translate:-160%;rotate:-80deg}.lk-shot-keeper.is-diving-4{translate:-50%;scale:1.1}.lk-shot-keeper.is-diving-5{translate:60%;rotate:80deg}.lk-shot-ball{filter:drop-shadow(0 0 6px #ffcf5a);width:34px;height:34px;transition:left .6s var(--lk-ease-out), top .6s var(--lk-ease-out), scale .6s var(--lk-ease-out);position:absolute;top:198%;left:50%;translate:-50% -50%}.lk-shot-ball[class*=is-at-]{scale:.65}.lk-shot-ball.is-at-0{top:25%;left:16.7%}.lk-shot-ball.is-at-1{top:25%;left:50%}.lk-shot-ball.is-at-2{top:25%;left:83.3%}.lk-shot-ball.is-at-3{top:75%;left:16.7%}.lk-shot-ball.is-at-4{top:75%;left:50%}.lk-shot-ball.is-at-5{top:75%;left:83.3%}.lk-shot-striker{aspect-ratio:28/37;width:17%;position:absolute;bottom:2%;left:50%;translate:-40%}.lk-shot-goal-call{font:italic 800 64px var(--lk-display-font);color:var(--lk-gold-hi);text-shadow:0 0 30px #ffd36eb3,0 5px #3a2608;animation:lk-goal-call .6s var(--lk-ease-expo);position:absolute;top:52%;left:50%;translate:-50% -50%}@keyframes lk-goal-call{0%{opacity:0;scale:.4}}.lk-shot{animation:.4s lk-shot-in}@keyframes lk-shot-in{0%{opacity:0}}`})),mn,hn=n((()=>{mn=`.lk-wheel-game{width:clamp(240px,100cqh - 188px,520px)}.lk-wheel-wrap{aspect-ratio:1;touch-action:none;cursor:grab;width:100%;position:relative}.lk-wheel-wrap.is-grabbed{cursor:grabbing}.lk-wheel-wrap{clip-path:inset(-20% round 28px);transition:clip-path .6s var(--lk-ease-out)}.lk-wheel-wrap:after{content:"";z-index:4;pointer-events:none;box-shadow:inset 0 0 0 2px var(--lk-gold), inset 0 0 0 7px #2a140a, inset 0 0 60px #000000b3;opacity:0;border-radius:28px;transition:opacity .6s;position:absolute;inset:0}.lk-wheel-wrap.is-zoomed{clip-path:inset(0 round 28px)}.lk-wheel-wrap.is-zoomed:after{opacity:1}.lk-wheel-zoom{transform-origin:50% var(--lk-zoom-y);transition:transform .7s var(--lk-ease-expo);position:absolute;inset:0}.lk-wheel-wrap.is-zoomed .lk-wheel-zoom{transform:scale(var(--lk-zoom))}@media (prefers-reduced-motion:reduce){.lk-wheel-wrap,.lk-wheel-wrap:after,.lk-wheel-zoom{transition:none}}.lk-wheel{width:100%;height:100%;position:absolute;inset:0}.lk-wheel-zoom:before{content:"";border-radius:50%;position:absolute;inset:2.7%;box-shadow:0 28px 34px #0009,0 0 30px #ffc86e26}.lk-wheel-logo{color:#f3d488;font-size:34px}.lk-wheel-logo .fl-icon{stroke-width:1.6px;display:block}.lk-pointer{z-index:3;transform-origin:50% 24%;filter:drop-shadow(0 4px 4px #0000004d);width:9%;position:absolute;top:-3.2%;left:50%;translate:-50%}.lk-lamp{fill:var(--lk-lamp-off);transition:fill .12s}.lk-wheel-game.is-idle .lk-lamp{animation:1.8s step-end infinite lk-lamp-idle;animation-delay:calc(var(--i) * -.9s)}.lk-wheel-game.is-spinning .lk-lamp{animation:.7s linear infinite lk-lamp-chase;animation-delay:calc(var(--i) * -.0259s)}.lk-wheel-game.is-won .lk-lamp{animation:.26s step-end infinite lk-lamp-flash;animation-delay:calc(var(--i) * -.13s)}.lk-win-seg{opacity:0}.lk-wheel-game.is-won .lk-win-seg{animation:.5s ease-in-out infinite alternate lk-win-pulse}@keyframes lk-win-pulse{0%{opacity:.1}to{opacity:.7}}.lk-booster{z-index:4;width:max-content;box-shadow:inset 0 0 0 1px #d4a94e, var(--lk-shadow-object);background:linear-gradient(#4a2410,#2a1208);border-radius:14px;align-items:center;gap:10px;margin:0 auto 30px;padding:6px 7px 6px 12px;display:flex;position:relative}.lk-booster>span{color:var(--lk-gold);font:700 11px var(--lk-display-font);letter-spacing:.08em}.lk-window{background:var(--lk-display);border-radius:9px;width:160px;height:40px;position:relative;overflow:hidden;box-shadow:inset 0 2px 6px #0009}.lk-window:after{content:"";background:linear-gradient(180deg, var(--lk-display), transparent 30%, transparent 70%, var(--lk-display));position:absolute;inset:0}.lk-window ul{will-change:transform;margin:0;padding:0;list-style:none}.lk-window li{color:#f5ecd6;white-space:nowrap;align-items:center;gap:8px;height:40px;padding:0 10px;font-size:13px;font-weight:600;display:flex}.lk-window li img{width:22px;height:22px}.lk-booster.is-blur ul{filter:blur(1.4px)}.lk-booster.is-set .lk-window{box-shadow:inset 0 2px 6px #0009, 0 0 0 2px var(--lk-gold), 0 0 16px #e2bd6380}.lk-bonus{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#140a05cc;place-items:center;animation:.35s both lk-fade-in;display:grid;position:absolute;inset:0}.lk-bonus-card{text-align:center}.lk-bonus-card h3{font:italic 700 32px var(--lk-display-font);color:var(--lk-gold-hi);margin:0 0 4px}.lk-bonus-card p{color:var(--lk-text-muted);margin:0 0 22px}.lk-coin-stage{perspective:900px;width:220px;height:260px;margin:0 auto;position:relative}.lk-coin{width:160px;height:160px;transform-style:preserve-3d;position:absolute;top:60px;left:30px}.lk-coin-face{backface-visibility:hidden;border-radius:50%;place-items:center;font-size:24px;font-weight:700;display:grid;position:absolute;inset:0}.lk-coin-face small{opacity:.85;font-size:11px;font-weight:600;display:block}.lk-coin-face--gold{color:#2a1a05;background:radial-gradient(circle at 34% 28%,#fff3c4,#d4a94e 48%,#6b4a14);box-shadow:inset 0 0 0 7px #ffffff4d,inset 0 0 0 9px #5a3c0a73}.lk-coin-face--ruby{color:#fff;background:radial-gradient(circle at 34% 28%,#ff9aa5,#9e1b2a 50%,#3a0710);transform:rotateX(180deg);box-shadow:inset 0 0 0 7px #ffffff38,inset 0 0 0 9px #ffd68c80}.lk-coin-shadow{background:radial-gradient(closest-side,#00000080,#0000);border-radius:50%;height:18px;position:absolute;bottom:16px;left:50px;right:50px}.lk-hunt{perspective:900px;grid-template-columns:repeat(6,72px);gap:10px;margin:0 auto 8px;display:grid}.lk-hunt button{height:72px;transform-style:preserve-3d;transition:transform .7s var(--lk-ease-expo);background:0 0;border:0;padding:0;position:relative}.lk-hunt button.is-open{transform:rotateY(180deg)}.lk-hunt .lk-face,.lk-hunt .lk-back{backface-visibility:hidden;border-radius:14px;place-items:center;display:grid;position:absolute;inset:0}.lk-hunt .lk-face{color:var(--lk-gold);background:linear-gradient(#4a2410,#2a1208);font-size:22px;box-shadow:inset 0 0 0 1px #d4a94e,0 6px 14px #00000080}.lk-hunt button:not(.is-open):hover .lk-face{box-shadow:inset 0 0 0 2px #f3d488,0 0 18px #ffc86e80}.lk-hunt .lk-back{color:#2a1a0a;background:#f4ead3;font-size:13px;font-weight:600;transform:rotateY(180deg);box-shadow:inset 0 0 0 1px #b08a3a}.lk-hunt .lk-back.is-pick{color:#2a1a05;background:linear-gradient(#f6dd96,#c99a3e);box-shadow:0 0 26px #ffc86e99}.lk-window--boost{width:132px}.lk-window--boost li{color:var(--lk-gold-hi);font:800 12px var(--font-sans,inherit);letter-spacing:.06em;justify-content:center}.lk-window--boost.is-set{box-shadow:inset 0 2px 6px #0009,0 0 0 2px #f6dd96,0 0 18px #ffd36eb3}.lk-booster-x{min-width:38px;height:28px;font:800 14px var(--font-sans,inherit);color:#2a1a058c;background:linear-gradient(#8a6420,#5a3c0e);border-radius:999px;place-items:center;padding:0 8px;transition:color .3s,background .3s,box-shadow .3s;display:grid}.lk-booster-x.is-set{color:#2a1a05;animation:lk-bolt-in .5s var(--lk-ease-expo) both;background:linear-gradient(#fff3c4,#d4a94e 55%,#a77c2c);box-shadow:0 0 14px #ffd36ecc}.lk-wheel-boost{fill:#ffd66e6b;stroke:#fff4d6;stroke-width:3px;animation:lk-wheel-boost-in .6s var(--lk-ease-expo) both, lk-wheel-boost 1s .6s ease-in-out infinite alternate}.lk-wheel-badge{transform-box:fill-box;transform-origin:50%;animation:lk-badge-in .5s .2s var(--lk-ease-expo) both}.lk-wheel-badge text{font:900 13px var(--font-sans,inherit);fill:#2a1a05;text-anchor:middle;dominant-baseline:central}@keyframes lk-wheel-boost-in{0%{fill:#fffffff2}}@keyframes lk-wheel-boost{to{fill:#ffd66e9e;stroke-width:5px}}@media (prefers-reduced-motion:reduce){.lk-booster-x.is-set,.lk-wheel-boost,.lk-wheel-badge,:is(.lk-ticket--double,.lk-ticket--forever) .is-match b{animation:none}}`})),gn,_n=n((()=>{en(),nn(),an(),sn(),ln(),dn(),pn(),hn(),gn=[on,mn,fn,cn,rn,un,$t,tn].join(`
|
|
2
|
+
`)})),vn,yn=n((()=>{vn=class extends Event{constructor(e,t,n,r){super(`context-request`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t,this.callback=n,this.subscribe=r??!1}}}));function bn(e){return e}var xn=n((()=>{})),Sn,Cn=n((()=>{yn(),Sn=class{constructor(e,t,n,r){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(e,t)=>{this.unsubscribe&&(this.unsubscribe!==t&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=e,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(e,t)),this.unsubscribe=t},this.host=e,t.context!==void 0){let e=t;this.context=e.context,this.callback=e.callback,this.subscribe=e.subscribe??!1}else this.context=t,this.callback=n,this.subscribe=r??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&=(this.unsubscribe(),void 0)}dispatchRequest(){this.host.dispatchEvent(new vn(this.context,this.host,this.t,this.subscribe))}}})),wn,Tn=n((()=>{wn=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:t}]of this.subscriptions)e(this.o,t)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:r}=this.subscriptions.get(e);e(this.value,r)}clearCallbacks(){this.subscriptions.clear()}}})),En,Dn,On=n((()=>{yn(),Tn(),En=class extends Event{constructor(e,t){super(`context-provider`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},Dn=class extends wn{constructor(e,t,n){super(t.context===void 0?n:t.initialValue),this.onContextRequest=e=>{if(e.context!==this.context)return;let t=e.contextTarget??e.composedPath()[0];t!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=e=>{if(e.context!==this.context||(e.contextTarget??e.composedPath()[0])===this.host)return;let t=new Set;for(let[e,{consumerHost:n}]of this.subscriptions)t.has(e)||(t.add(e),n.dispatchEvent(new vn(this.context,n,e,!0)));e.stopPropagation()},this.host=e,this.context=t.context===void 0?t:t.context,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(`context-request`,this.onContextRequest),this.host.addEventListener(`context-provider`,this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new En(this.context,this.host))}}}));function kn({context:e}){return(t,n)=>{let r=new WeakMap;if(typeof n==`object`)return{get(){return t.get.call(this)},set(e){return r.get(this).setValue(e),t.set.call(this,e)},init(t){return r.set(this,new Dn(this,{context:e,initialValue:t})),t}};{t.constructor.addInitializer((t=>{r.set(t,new Dn(t,{context:e}))}));let i=Object.getOwnPropertyDescriptor(t,n),a;if(i===void 0){let e=new WeakMap;a={get(){return e.get(this)},set(t){r.get(this).setValue(t),e.set(this,t)},configurable:!0,enumerable:!0}}else{let e=i.set;a={...i,set(t){r.get(this).setValue(t),e?.call(this,t)}}}Object.defineProperty(t,n,a);return}}}var An=n((()=>{On()}));function jn({context:e,subscribe:t}){return(n,r)=>{typeof r==`object`?r.addInitializer((function(){new Sn(this,{context:e,callback:e=>{n.set.call(this,e)},subscribe:t})})):n.constructor.addInitializer((n=>{new Sn(n,{context:e,callback:e=>{n[r]=e},subscribe:t})}))}}var Mn=n((()=>{Cn()})),Nn=n((()=>{yn(),xn(),Cn(),On(),An(),Mn()})),Pn,Fn,In,Ln,Rn,zn,Bn,Vn,Hn=n((()=>{Pn=globalThis,Fn=Pn.ShadowRoot&&(Pn.ShadyCSS===void 0||Pn.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,In=Symbol(),Ln=new WeakMap,Rn=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==In)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(Fn&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=Ln.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&Ln.set(t,e))}return e}toString(){return this.cssText}},zn=e=>new Rn(typeof e==`string`?e:e+``,void 0,In),Bn=(e,t)=>{if(Fn)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=Pn.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},Vn=Fn?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return zn(t)})(e):e})),Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir=n((()=>{Hn(),{is:Un,defineProperty:Wn,getOwnPropertyDescriptor:Gn,getOwnPropertyNames:Kn,getOwnPropertySymbols:qn,getPrototypeOf:Jn}=Object,Yn=globalThis,Xn=Yn.trustedTypes,Zn=Xn?Xn.emptyScript:``,Qn=Yn.reactiveElementPolyfillSupport,$n=(e,t)=>e,er={toAttribute(e,t){switch(t){case Boolean:e=e?Zn:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},tr=(e,t)=>!Un(e,t),nr={attribute:!0,type:String,converter:er,reflect:!1,useDefault:!1,hasChanged:tr},Symbol.metadata??=Symbol(`metadata`),Yn.litPropertyMetadata??=new WeakMap,rr=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=nr){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&Wn(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=Gn(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??nr}static _$Ei(){if(this.hasOwnProperty($n(`elementProperties`)))return;let e=Jn(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty($n(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty($n(`properties`))){let e=this.properties,t=[...Kn(e),...qn(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(Vn(e))}else e!==void 0&&t.push(Vn(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Bn(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?er:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?er:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??tr)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}},rr.elementStyles=[],rr.shadowRootOptions={mode:`open`},rr[$n(`elementProperties`)]=new Map,rr[$n(`finalized`)]=new Map,Qn?.({ReactiveElement:rr}),(Yn.reactiveElementVersions??=[]).push(`2.1.2`)}));function ar(e,t){if(!vr(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return ur===void 0?t:ur.createHTML(t)}function or(e,t,n=e,r){if(t===Ar)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=_r(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=or(e,i._$AS(e,t.values),i,r)),t}var sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br,xr,Sr,Cr,wr,Tr,Er,Dr,Or,h,g,kr,Ar,_,jr,Mr,Nr,Pr,Fr,Ir,Lr,Rr,zr,Br,Vr,Hr,Ur,Wr,Gr=n((()=>{sr=globalThis,cr=e=>e,lr=sr.trustedTypes,ur=lr?lr.createPolicy(`lit-html`,{createHTML:e=>e}):void 0,dr=`$lit$`,fr=`lit$${Math.random().toFixed(9).slice(2)}$`,pr=`?`+fr,mr=`<${pr}>`,hr=document,gr=()=>hr.createComment(``),_r=e=>e===null||typeof e!=`object`&&typeof e!=`function`,vr=Array.isArray,yr=e=>vr(e)||typeof e?.[Symbol.iterator]==`function`,br=`[
|
|
3
|
+
\f\r]`,xr=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Sr=/-->/g,Cr=/>/g,wr=RegExp(`>|${br}(?:([^\\s"'>=/]+)(${br}*=${br}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),Tr=/'/g,Er=/"/g,Dr=/^(?:script|style|textarea|title)$/i,Or=e=>(t,...n)=>({_$litType$:e,strings:t,values:n}),h=Or(1),g=Or(2),kr=Or(3),Ar=Symbol.for(`lit-noChange`),_=Symbol.for(`lit-nothing`),jr=new WeakMap,Mr=hr.createTreeWalker(hr,129),Nr=(e,t)=>{let n=e.length-1,r=[],i,a=t===2?`<svg>`:t===3?`<math>`:``,o=xr;for(let t=0;t<n;t++){let n=e[t],s,c,l=-1,u=0;for(;u<n.length&&(o.lastIndex=u,c=o.exec(n),c!==null);)u=o.lastIndex,o===xr?c[1]===`!--`?o=Sr:c[1]===void 0?c[2]===void 0?c[3]!==void 0&&(o=wr):(Dr.test(c[2])&&(i=RegExp(`</`+c[2],`g`)),o=wr):o=Cr:o===wr?c[0]===`>`?(o=i??xr,l=-1):c[1]===void 0?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=c[3]===void 0?wr:c[3]===`"`?Er:Tr):o===Er||o===Tr?o=wr:o===Sr||o===Cr?o=xr:(o=wr,i=void 0);let d=o===wr&&e[t+1].startsWith(`/>`)?` `:``;a+=o===xr?n+mr:l>=0?(r.push(s),n.slice(0,l)+dr+n.slice(l)+fr+d):n+fr+(l===-2?t:d)}return[ar(e,a+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},Pr=class e{constructor({strings:t,_$litType$:n},r){let i;this.parts=[];let a=0,o=0,s=t.length-1,c=this.parts,[l,u]=Nr(t,n);if(this.el=e.createElement(l,r),Mr.currentNode=this.el.content,n===2||n===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(i=Mr.nextNode())!==null&&c.length<s;){if(i.nodeType===1){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(dr)){let t=u[o++],n=i.getAttribute(e).split(fr),r=/([.?@])?(.*)/.exec(t);c.push({type:1,index:a,name:r[2],strings:n,ctor:r[1]===`.`?Rr:r[1]===`?`?zr:r[1]===`@`?Br:Lr}),i.removeAttribute(e)}else e.startsWith(fr)&&(c.push({type:6,index:a}),i.removeAttribute(e));if(Dr.test(i.tagName)){let e=i.textContent.split(fr),t=e.length-1;if(t>0){i.textContent=lr?lr.emptyScript:``;for(let n=0;n<t;n++)i.append(e[n],gr()),Mr.nextNode(),c.push({type:2,index:++a});i.append(e[t],gr())}}}else if(i.nodeType===8){if(i.data===pr)c.push({type:2,index:a});else{let e=-1;for(;(e=i.data.indexOf(fr,e+1))!==-1;)c.push({type:7,index:a}),e+=fr.length-1}}a++}}static createElement(e,t){let n=hr.createElement(`template`);return n.innerHTML=e,n}},Fr=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??hr).importNode(t,!0);Mr.currentNode=r;let i=Mr.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new Ir(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new Vr(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=Mr.nextNode(),a++)}return Mr.currentNode=hr,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},Ir=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=_,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=or(this,e,t),_r(e)?e===_||e==null||e===``?(this._$AH!==_&&this._$AR(),this._$AH=_):e!==this._$AH&&e!==Ar&&this._(e):e._$litType$===void 0?e.nodeType===void 0?yr(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==_&&_r(this._$AH)?this._$AA.nextSibling.data=e:this.T(hr.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=Pr.createElement(ar(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new Fr(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=jr.get(e.strings);return t===void 0&&jr.set(e.strings,t=new Pr(e)),t}k(t){vr(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(gr()),this.O(gr()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=cr(e).nextSibling;cr(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},Lr=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=_,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=_}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=or(this,e,t,0),a=!_r(e)||e!==this._$AH&&e!==Ar,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=or(this,r[n+o],t,o),s===Ar&&(s=this._$AH[o]),a||=!_r(s)||s!==this._$AH[o],s===_?e=_:e!==_&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===_?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},Rr=class extends Lr{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===_?void 0:e}},zr=class extends Lr{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==_)}},Br=class extends Lr{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}_$AI(e,t=this){if((e=or(this,e,t,0)??_)===Ar)return;let n=this._$AH,r=e===_&&n!==_||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==_&&(n===_||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Vr=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){or(this,e)}},Hr={M:dr,P:fr,A:pr,C:1,L:Nr,R:Fr,D:yr,V:or,I:Ir,H:Lr,N:zr,U:Br,B:Rr,F:Vr},Ur=sr.litHtmlPolyfillSupport,Ur?.(Pr,Ir),(sr.litHtmlVersions??=[]).push(`3.3.3`),Wr=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new Ir(t.insertBefore(gr(),e),e,void 0,n??{})}return i._$AI(e),i}})),Kr,qr,Jr,Yr=n((()=>{ir(),ir(),Gr(),Gr(),Kr=globalThis,qr=class extends rr{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Wr(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return Ar}},qr._$litElement$=!0,qr.finalized=!0,Kr.litElementHydrateSupport?.({LitElement:qr}),Jr=Kr.litElementPolyfillSupport,Jr?.({LitElement:qr}),(Kr.litElementVersions??=[]).push(`4.2.2`)})),Xr=n((()=>{})),v=n((()=>{ir(),Gr(),Yr(),Xr()})),y,Zr=n((()=>{y=e=>(t,n)=>{n===void 0?customElements.define(e,t):n.addInitializer(()=>{customElements.define(e,t)})}}));function b(e){return(t,n)=>typeof n==`object`?$r(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}var Qr,$r,ei=n((()=>{ir(),Qr={attribute:!0,type:String,converter:er,reflect:!1,hasChanged:tr},$r=(e=Qr,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)}}));function x(e){return b({...e,state:!0,attribute:!1})}var ti=n((()=>{ei()})),ni=n((()=>{})),ri,ii=n((()=>{ri=(e,t,n)=>(n.configurable=!0,n.enumerable=!0,Reflect.decorate&&typeof t!=`object`&&Object.defineProperty(e,t,n),n)}));function S(e,t){return(n,r,i)=>{let a=t=>t.renderRoot?.querySelector(e)??null;if(t){let{get:e,set:t}=typeof r==`object`?n:i??(()=>{let e=Symbol();return{get(){return this[e]},set(t){this[e]=t}}})();return ri(n,r,{get(){let n=e.call(this);return n===void 0&&(n=a(this),(n!==null||this.hasUpdated)&&t.call(this,n)),n}})}return ri(n,r,{get(){return a(this)}})}}var ai=n((()=>{ii()})),oi=n((()=>{})),si=n((()=>{})),ci=n((()=>{})),li=n((()=>{})),C=n((()=>{Zr(),ei(),ti(),ni(),ai(),oi(),si(),ci(),li()})),ui,di,fi,pi=n((()=>{ui={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},di=e=>(...t)=>({_$litDirective$:e,values:t}),fi=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}})),mi,hi,gi,_i,vi,yi,bi,xi,Si,Ci,wi=n((()=>{Gr(),{I:mi}=Hr,hi=e=>e,gi=e=>e.strings===void 0,_i=()=>document.createComment(``),vi=(e,t,n)=>{let r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0){let t=r.insertBefore(_i(),i),a=r.insertBefore(_i(),i);n=new mi(t,a,e,e.options)}else{let t=n._$AB.nextSibling,a=n._$AM,o=a!==e;if(o){let t;n._$AQ?.(e),n._$AM=e,n._$AP!==void 0&&(t=e._$AU)!==a._$AU&&n._$AP(t)}if(t!==i||o){let e=n._$AA;for(;e!==t;){let t=hi(e).nextSibling;hi(r).insertBefore(e,i),e=t}}}return n},yi=(e,t,n=e)=>(e._$AI(t,n),e),bi={},xi=(e,t=bi)=>e._$AH=t,Si=e=>e._$AH,Ci=e=>{e._$AR(),e._$AA.remove()}})),Ti,Ei=n((()=>{Gr(),pi(),wi(),Ti=di(class extends fi{constructor(){super(...arguments),this.key=_}render(e,t){return this.key=e,t}update(e,[t,n]){return t!==this.key&&(xi(e),this.key=t),n}})})),Di=n((()=>{Ei()})),Oi,ki,Ai,ji,Mi,Ni,Pi=n((()=>{Gr(),Oi=Symbol.for(``),ki=e=>{if(e?.r===Oi)return e?._$litStatic$},Ai=e=>({_$litStatic$:e,r:Oi}),ji=new Map,Mi=e=>(t,...n)=>{let r=n.length,i,a,o=[],s=[],c,l=0,u=!1;for(;l<r;){for(c=t[l];l<r&&(a=n[l],(i=ki(a))!==void 0);)c+=i+t[++l],u=!0;l!==r&&s.push(a),o.push(c),l++}if(l===r&&o.push(t[r]),u){let e=o.join(`$$lit$$`);(t=ji.get(e))===void 0&&(o.raw=o,ji.set(e,t=o)),n=s}return e(t,...n)},Ni=Mi(h),Mi(g),Mi(kr)})),Fi=n((()=>{Pi()})),Ii,Li=n((()=>{Ii=[[`path`,{d:`M19 9V6a2 2 0 0 0-2-2H7a2 2 0 0 0-2 2v3`}],[`path`,{d:`M3 16a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-5a2 2 0 0 0-4 0v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V11a2 2 0 0 0-4 0z`}],[`path`,{d:`M5 18v2`}],[`path`,{d:`M19 18v2`}]]})),Ri,zi=n((()=>{Ri=[[`path`,{d:`m12 19-7-7 7-7`}],[`path`,{d:`M19 12H5`}]]})),Bi,Vi=n((()=>{Bi=[[`path`,{d:`M5 12h14`}],[`path`,{d:`m12 5 7 7-7 7`}]]})),Hi,Ui=n((()=>{Hi=[[`path`,{d:`M20 6 9 17l-5-5`}]]})),Wi,Gi=n((()=>{Wi=[[`path`,{d:`m9 18 6-6-6-6`}]]})),Ki,qi=n((()=>{Ki=[[`path`,{d:`m17 11-5-5-5 5`}],[`path`,{d:`m17 18-5-5-5 5`}]]})),Ji,Yi=n((()=>{Ji=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M12 8v8`}],[`path`,{d:`m8 12 4 4 4-4`}]]})),Xi,Zi=n((()=>{Xi=[[`path`,{d:`M10.1 2.182a10 10 0 0 1 3.8 0`}],[`path`,{d:`M13.9 21.818a10 10 0 0 1-3.8 0`}],[`path`,{d:`M17.609 3.721a10 10 0 0 1 2.69 2.7`}],[`path`,{d:`M2.182 13.9a10 10 0 0 1 0-3.8`}],[`path`,{d:`M20.279 17.609a10 10 0 0 1-2.7 2.69`}],[`path`,{d:`M21.818 10.1a10 10 0 0 1 0 3.8`}],[`path`,{d:`M3.721 6.391a10 10 0 0 1 2.7-2.69`}],[`path`,{d:`M6.391 20.279a10 10 0 0 1-2.69-2.7`}]]})),Qi,$i=n((()=>{Qi=[[`circle`,{cx:`12`,cy:`12`,r:`1`}],[`circle`,{cx:`12`,cy:`12`,r:`10`}]]})),ea,ta=n((()=>{ea=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`}],[`path`,{d:`M12 17h.01`}]]})),na,ra=n((()=>{na=[[`path`,{d:`M16.17 7.83 2 22`}],[`path`,{d:`M4.02 12a2.827 2.827 0 1 1 3.81-4.17A2.827 2.827 0 1 1 12 4.02a2.827 2.827 0 1 1 4.17 3.81A2.827 2.827 0 1 1 19.98 12a2.827 2.827 0 1 1-3.81 4.17A2.827 2.827 0 1 1 12 19.98a2.827 2.827 0 1 1-4.17-3.81A1 1 0 1 1 4 12`}],[`path`,{d:`m7.83 7.83 8.34 8.34`}]]})),ia,aa=n((()=>{ia=[[`path`,{d:`m18 16 4-4-4-4`}],[`path`,{d:`m6 8-4 4 4 4`}],[`path`,{d:`m14.5 4-5 16`}]]})),oa,sa=n((()=>{oa=[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`}],[`path`,{d:`M15 6h1v4`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`}],[`circle`,{cx:`16`,cy:`8`,r:`6`}]]})),ca,la=n((()=>{ca=[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`}]]})),ua,da=n((()=>{ua=[[`path`,{d:`M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21`}],[`path`,{d:`m5.082 11.09 8.828 8.828`}]]})),fa,pa=n((()=>{fa=[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}]]})),ma,ha=n((()=>{ma=[[`path`,{d:`M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4`}]]})),ga,_a=n((()=>{ga=[[`path`,{d:`M12 7v14`}],[`path`,{d:`M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8`}],[`path`,{d:`M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5`}],[`rect`,{x:`3`,y:`7`,width:`18`,height:`4`,rx:`1`}]]})),va,ya=n((()=>{va=[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`}],[`path`,{d:`M3 9h18`}],[`path`,{d:`M3 15h18`}],[`path`,{d:`M9 3v18`}],[`path`,{d:`M15 3v18`}]]})),ba,xa=n((()=>{ba=[[`circle`,{cx:`9`,cy:`12`,r:`1`}],[`circle`,{cx:`9`,cy:`5`,r:`1`}],[`circle`,{cx:`9`,cy:`19`,r:`1`}],[`circle`,{cx:`15`,cy:`12`,r:`1`}],[`circle`,{cx:`15`,cy:`5`,r:`1`}],[`circle`,{cx:`15`,cy:`19`,r:`1`}]]})),Sa,Ca=n((()=>{Sa=[[`path`,{d:`M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17`}],[`path`,{d:`m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9`}],[`path`,{d:`m2 16 6 6`}],[`circle`,{cx:`16`,cy:`9`,r:`2.9`}],[`circle`,{cx:`6`,cy:`5`,r:`3`}]]})),wa,Ta=n((()=>{wa=[[`path`,{d:`M18 11V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2`}],[`path`,{d:`M14 10V4a2 2 0 0 0-2-2a2 2 0 0 0-2 2v2`}],[`path`,{d:`M10 10.5V6a2 2 0 0 0-2-2a2 2 0 0 0-2 2v8`}],[`path`,{d:`M18 8a2 2 0 1 1 4 0v6a8 8 0 0 1-8 8h-2c-2.8 0-4.5-.86-5.99-2.34l-3.6-3.6a2 2 0 0 1 2.83-2.82L7 15`}]]})),Ea,Da=n((()=>{Ea=[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`}]]})),Oa,ka=n((()=>{Oa=[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`}]]})),Aa,ja=n((()=>{Aa=[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`}]]})),Ma,Na=n((()=>{Ma=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 9.9-1`}]]})),Pa,Fa=n((()=>{Pa=[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`}]]})),Ia,La=n((()=>{Ia=[[`path`,{d:`m16 17 5-5-5-5`}],[`path`,{d:`M21 12H9`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`}]]})),Ra,za=n((()=>{Ra=[[`path`,{d:`M5 12h14`}]]})),Ba,Va=n((()=>{Ba=[[`path`,{d:`M20.341 6.484A10 10 0 0 1 10.266 21.85`}],[`path`,{d:`M3.659 17.516A10 10 0 0 1 13.74 2.152`}],[`circle`,{cx:`12`,cy:`12`,r:`3`}],[`circle`,{cx:`19`,cy:`5`,r:`2`}],[`circle`,{cx:`5`,cy:`19`,r:`2`}]]})),Ha,Ua=n((()=>{Ha=[[`path`,{d:`M2 22h20`}],[`path`,{d:`M6.36 17.4 4 17l-2-4 1.1-.55a2 2 0 0 1 1.8 0l.17.1a2 2 0 0 0 1.8 0L8 12 5 6l.9-.45a2 2 0 0 1 2.09.2l4.02 3a2 2 0 0 0 2.1.2l4.19-2.06a2.41 2.41 0 0 1 1.73-.17L21 7a1.4 1.4 0 0 1 .87 1.99l-.38.76c-.23.46-.6.84-1.07 1.08L7.58 17.2a2 2 0 0 1-1.22.18Z`}]]})),Wa,Ga=n((()=>{Wa=[[`path`,{d:`m17 2 4 4-4 4`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`}],[`path`,{d:`m7 22-4-4 4-4`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`}]]})),Ka,qa=n((()=>{Ka=[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`}],[`path`,{d:`M3 3v5h5`}]]})),Ja,Ya=n((()=>{Ja=[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`}],[`path`,{d:`M21 3v5h-5`}]]})),Xa,Za=n((()=>{Xa=[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`}],[`path`,{d:`M20 2v4`}],[`path`,{d:`M22 4h-4`}],[`circle`,{cx:`4`,cy:`20`,r:`2`}]]})),Qa,$a=n((()=>{Qa=[[`path`,{d:`M16 3h5v5`}],[`path`,{d:`M8 3H3v5`}],[`path`,{d:`M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3`}],[`path`,{d:`m15 9 6-6`}]]})),eo,to=n((()=>{eo=[[`circle`,{cx:`12`,cy:`12`,r:`10`}],[`circle`,{cx:`12`,cy:`12`,r:`6`}],[`circle`,{cx:`12`,cy:`12`,r:`2`}]]})),no,ro=n((()=>{no=[[`path`,{d:`M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z`}],[`path`,{d:`M13 5v2`}],[`path`,{d:`M13 17v2`}],[`path`,{d:`M13 11v2`}]]})),io,ao=n((()=>{io=[[`path`,{d:`M10 11v6`}],[`path`,{d:`M14 11v6`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}],[`path`,{d:`M3 6h18`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`}]]})),oo,so=n((()=>{oo=[[`path`,{d:`M9 14 4 9l5-5`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`}]]})),co,lo=n((()=>{co=[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`}]]})),uo,fo=n((()=>{uo=[[`path`,{d:`M11 4.702a.7.7 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.7.7 0 0 0 11 19.298z`}],[`path`,{d:`m16.5 14.5 5-5`}],[`path`,{d:`m16.5 9.5 5 5`}]]})),po,mo=n((()=>{po=[[`path`,{d:`M18 6 6 18`}],[`path`,{d:`m6 6 12 12`}]]})),ho,go=n((()=>{ho=[[`path`,{d:`M15.914 4a1.5 1.5 0 00-2.474-1.561l-9 9A1.5 1.5 0 005.5 14h4.002a.5.5 0 01.471.666L8.086 20a1.5 1.5 0 002.475 1.56l9-9A1.5 1.5 0 0018.5 10h-3.997a.5.5 0 01-.472-.667z`}]]})),w=n((()=>{Li(),zi(),Vi(),Ui(),Gi(),qi(),Yi(),Zi(),$i(),ta(),ra(),aa(),sa(),la(),da(),pa(),ha(),_a(),ya(),xa(),Ca(),Ta(),Da(),ka(),ja(),Na(),Fa(),La(),za(),Va(),Ua(),Ga(),qa(),Ya(),Za(),$a(),to(),ro(),ao(),so(),lo(),fo(),mo(),go()})),T,_o,E,D,vo,O,k=n((()=>{T=(e,t)=>e+Math.random()*(t-e),_o=(e,t)=>Math.floor(T(e,t+1)),E=e=>e[Math.floor(Math.random()*e.length)],D=e=>e.map(e=>[Math.random(),e]).sort((e,t)=>e[0]-t[0]).map(([,e])=>e),vo=(e,t)=>(e%t+t)%t,O=(e,t)=>Array.from({length:t-e+1},(t,n)=>e+n)}));function yo(e){let t=t=>{let n=[...new Set(e.flatMap(e=>wo(e,t).map(To)))];return e.some(e=>!wo(e,t).length)?[...n,null]:n};return{small:t(`small`),big:t(`big`),jackpot:t(`jackpot`)}}function bo(e,t){if(t===`none`)return null;let n=wo(e,t);return n.length?To(E(n)):null}function xo(e,t,n){let r=e.filter(e=>{let r=wo(e,t);return n===null?!r.length:r.some(e=>To(e)===n)});return r.length?r:e}async function So(e,t,n){if(typeof e.variants==`function`)return e.variants(t);let r=wo(e,t);return r.find(e=>To(e)===n)??(r.length?E(r):null)}var Co,wo,To,Eo,Do,A=n((()=>{k(),Co=[`small`,`big`,`jackpot`],wo=(e,t)=>Array.isArray(e.variants)?e.variants.filter(e=>e.tier===t):[],To=e=>e.short??e.label,Eo=(e,t)=>O(0,t-1).map(n=>e[Math.floor(n*e.length/t)]),Do=(e,t)=>`${e}:${t??``}`}));function Oo(e){Ao=e}function ko(e){Mo.value={game:e}}function j(e,t,n){let r=Ao[e];return r?r(t,n):n()}var Ao,jo,Mo,No,Po=n((()=>{Ht(),Ao={},jo=Vt(!1),Mo=Vt(void 0),No=Vt(0)}));function Fo(e,t){if(!t)return[];let n=2166136261;for(let t of`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}:dealer`)n=Math.imul(n^t.charCodeAt(0),16777619)>>>0;return Array.from({length:Ro},(e,r)=>{let i=zo+r*Bo+(n>>>r*8)%140;return{start:i,end:i+30+(n>>>r*5+3)%61,dealer:(n+r)%t}})}function Io(e,t){let n=e.getHours()*60+e.getMinutes();return Fo(e,t).find(e=>e.start<=n&&n<e.end)?.dealer??null}function Lo(e=new Date){let t=Vo.value;Ho.value=t?j(`dealer`,{count:t},()=>Io(e,t)):null}var Ro,zo,Bo,Vo,Ho,Uo=n((()=>{Ht(),Po(),Ro=3,zo=600,Bo=260,Vo=Vt(0),Ho=Vt(null)}));function Wo(e){let t=e%19,n=Math.floor(e/100),r=e%100,i=(19*t+n-Math.floor(n/4)-Math.floor((n-Math.floor((n+8)/25)+1)/3)+15)%30,a=(32+n%4*2+2*Math.floor(r/4)-i-r%4)%7,o=Math.floor((t+11*i+22*a)/451),s=Math.floor((i+a-7*o+114)/31),c=(i+a-7*o+114)%31+1;return new Date(e,s-1,c)}function Go(e,t){let n=/^easter([+-]\d+)?$/.exec(e);if(n){let e=Wo(t);return e.setDate(e.getDate()+Number(n[1]??0)),Xo(e)}return e.length===5?`${t}-${e}`:e}function Ko(e=new Date){let t=Xo(e),n=e.getFullYear();return Jo.find(({from:e,to:r=e})=>[n-1,n].some(n=>{let i=Go(e,n),a=Go(r,n);return a<i&&(a=Go(r,n+1)),i<=t&&t<=a}))?.theme??null}var qo,Jo,Yo,Xo,Zo,Qo,$o,es,ts=n((()=>{Po(),qo=[`christmas`,`halloween`,`easter`,`august`],Jo=[{theme:`christmas`,from:`12-08`,to:`01-06`},{theme:`halloween`,from:`10-30`,to:`10-31`},{theme:`easter`,from:`easter-6`,to:`easter+1`},{theme:`august`,from:`08-01`,to:`08-31`}],Yo=e=>String(e).padStart(2,`0`),Xo=e=>`${e.getFullYear()}-${Yo(e.getMonth()+1)}-${Yo(e.getDate())}`,Zo=()=>j(`theme`,{},()=>Ko()),Qo={christmas:{lights:[`#ffe3a0`,`#fff4d6`,`#ff6b5e`,`#7fd6a0`,`#ffffff`,`#f6d27a`],confetti:[`#c8202f`,`#1c7a45`,`#fff4d6`,`#f3d488`,`#d4a94e`,`#ffffff`]},halloween:{lights:[`#ffb347`,`#ff8a2a`,`#c48bff`,`#ffe3a0`,`#9be36a`],confetti:[`#ff8a2a`,`#6b2fa0`,`#1b1210`,`#f3d488`,`#9be36a`]},easter:{lights:[`#fff4d6`,`#ffc8dd`,`#cdb4ff`,`#b8f0c8`,`#fff1a8`],confetti:[`#ffc8dd`,`#cdb4ff`,`#b8f0c8`,`#fff1a8`,`#a8dcff`,`#f3d488`]},august:{lights:[`#ffe3a0`,`#ffb36b`,`#6ee0d6`,`#ff8f8f`,`#fff4d6`],confetti:[`#ffd23f`,`#3ec1c9`,`#ff6f59`,`#ffffff`,`#f3d488`]}},$o=(e,t)=>[{d:`M${e+3} 0L${e-1} 7M${e+6} 0L${e+4} 8M${e+15} 0L${e+19} 7M${e+17} 0L${e+22} 6`,stroke:`#6b4220`,width:1.6},{d:`M${e} -4a10 4.5 0 1 0 20 0a10 4.5 0 1 0 -20 0M${e+17} -6L${e+23} -13L${e+26} -11L${e+20} -3Z`,fill:`#8a5a2b`},{d:`M${e+23} -13a4 2.6 0 1 0 8 0a4 2.6 0 1 0 -8 0`,fill:`#9a6634`},{d:`M${e+24} -15L${e+22} -21M${e+23} -18L${e+20} -19M${e+26} -15L${e+27} -21M${e+26.5} -18L${e+29} -20`,stroke:`#e6c79a`,width:1},{d:`M${e+29.5} -13a1.8 1.8 0 1 0 3.6 0a1.8 1.8 0 1 0 -3.6 0`,fill:t?`#ff3b3b`:`#3a2010`,glow:t}],es=[{d:`M10 -8L38 -6M10 -8L68 -6`,stroke:`#f3d488`,width:.8},...$o(30,!1),...$o(60,!0),{d:`M-19 -12a7 7 0 1 0 14 0a7 7 0 1 0 -14 0`,fill:`#7a4a22`},{d:`M-9 -9a7 7 0 1 0 14 0a7 7 0 1 0 -14 0`,fill:`#c8202f`},{d:`M2 -11L10 -8`,stroke:`#c8202f`,width:3},{d:`M-4 -19a4 4 0 1 0 8 0a4 4 0 1 0 -8 0`,fill:`#f2c9a0`},{d:`M-4.5 -18Q0 -9 4.5 -18Z`,fill:`#fffaf0`},{d:`M-4.5 -21Q0 -28 4.5 -21ZM-2 -25L-9 -27L-3 -22Z`,fill:`#c8202f`},{d:`M-4.8 -22.4h9.6v2.2h-9.6zM-11 -27a1.7 1.7 0 1 0 3.4 0a1.7 1.7 0 1 0 -3.4 0`,fill:`#fffaf0`},{d:`M-18 -6Q-20 -14 -15 -14L-12 -10L12 -6Q20 -4 18 4L-14 4Q-18 4 -18 -6Z`,fill:`#9e1b22`,stroke:`#d4a94e`,width:1.2},{d:`M-20 10L16 10Q24 10 22 4M-10 4v6M8 4v6`,stroke:`#d4a94e`,width:2}]}));function ns(e=1,t=Math.random()){return t<e*cs.jackpot?`jackpot`:t<e*(cs.jackpot+cs.big)?`big`:t<e*(cs.jackpot+cs.big+cs.small)?`small`:`none`}function rs(e=new Date){let t=2166136261;for(let n of`${e.getFullYear()}-${e.getMonth()+1}-${e.getDate()}`)t=Math.imul(t^n.charCodeAt(0),16777619)>>>0;return{game:as[t%as.length],multiplier:2+(t>>>8)%4,ticket:t>>>16&1?`forever`:`double`,machine:t>>>20&1?`breakaway`:`takeoff`}}function is(){let e=rs().game;return as.filter(e=>M(e)>1).sort((t,n)=>M(n)-M(t)||Number(n===e)-Number(t===e))[0]}var as,os,ss,cs,ls,us,ds,fs,M,ps,ms,hs,gs,N=n((()=>{Uo(),k(),Po(),as=[`wheel`,`slot`,`roulette`,`pachinko`,`scratch`],os=[`blackjack`,`holdem`],ss=[...as,...os],cs={jackpot:1/150,big:1/60,small:1/30},ls=[`none`,`small`,`big`,`jackpot`],us=[`double`,`forever`],ds=[`takeoff`,`breakaway`],fs=(e,t=new Date)=>{let n=rs(t);return n.game===e?n.multiplier:1},M=e=>j(`boost`,{game:e},()=>os.includes(e)?Ho.value===null?1:2:fs(e)),ps=(e,t)=>j(`tier`,{game:e,boost:t},()=>ns(t)),ms=(e,t)=>j(`prize`,{game:e,prizeIds:t},()=>E(t)),hs=()=>j(`slot.machine`,{},()=>rs().machine),gs=()=>j(`scratch.ticket`,{},()=>rs().ticket)})),_s,vs,ys,bs=n((()=>{Nn(),_s=bn(Symbol(`fl-room`)),vs=[`#9e1b22`,`#1d3561`,`#1c6136`,`#5b2a6e`,`#7a5418`],ys=e=>vs[e%vs.length]})),P,xs,F=n((()=>{P=()=>matchMedia(`(prefers-reduced-motion: reduce)`).matches,xs=e=>new Promise(t=>setTimeout(t,e))}));function Ss(e,t=1){if(P())return;let n=6*t;e.animate([{transform:`translate(0, 0)`},{transform:`translate(${-n}px, ${n*.5}px) rotate(-0.4deg)`},{transform:`translate(${n*.8}px, ${-n*.4}px) rotate(0.3deg)`},{transform:`translate(${-n*.3}px, ${n*.2}px)`},{transform:`translate(0, 0)`}],{duration:240,easing:`linear`})}function Cs(e,t,n=1,r=3){return[{R:210,r:58,d:96,turns:29},{R:150,r:42,d:64,turns:21},{R:300,r:77,d:130,turns:77}].slice(0,r).map(({R:r,r:i,d:a,turns:o})=>{let s=[];for(let c=0;c<=2400;c++){let l=c/2400*Math.PI*2*o,u=(r-i)*Math.cos(l)+a*Math.cos((r-i)/i*l),d=(r-i)*Math.sin(l)-a*Math.sin((r-i)/i*l);s.push(`${(e+u*n).toFixed(1)},${(t+d*n).toFixed(1)}`)}return s.join(` `)})}var ws,Ts,I,Es=n((()=>{k(),F(),ws=[`#f3d488`,`#d4a94e`,`#fff4d6`,`#1f7a45`,`#8e1f2a`,`#c79a3e`],Ts=[`#fff4d6`,`#ffe3a0`,`#f3d488`],I={canvas:null,particles:[],confetti:void 0,running:!1,last:0,attach(e){if(this.canvas=e,this.particles=[],!e)return;let t=Math.min(2,devicePixelRatio);e.width=innerWidth*t,e.height=innerHeight*t,e.getContext(`2d`).setTransform(t,0,0,t,0,0)},burst(e,t,{count:n=60,colors:r,speed:i=520,spread:a=Math.PI*2,angle:o=-Math.PI/2,type:s=`strip`,gravity:c=900,life:l=1.8}={}){if(this.canvas&&!P()){for(let u=0;u<n;u++){let n=o+T(-a/2,a/2),u=i*T(.35,1);this.particles.push({x:e,y:t,type:s,gravity:c,vx:Math.cos(n)*u,vy:Math.sin(n)*u,rotation:T(0,Math.PI*2),spin:T(-9,9),flip:T(0,Math.PI*2),flipSpeed:T(6,14),width:s===`flake`?T(1.5,3.5):T(5,10),height:s===`flake`?T(1.5,3):T(9,16),color:E(r??this.confetti??ws),age:0,life:l*T(.6,1)})}this.running||(this.running=!0,this.last=performance.now(),requestAnimationFrame(e=>this.frame(e)))}},fountain(e){let t=performance.now(),n=()=>{this.canvas&&(this.burst(T(innerWidth*.1,innerWidth*.9),innerHeight+10,{count:14,speed:1150,spread:.5,life:2.6}),performance.now()-t<e&&setTimeout(n,90))};n()},cannons(e){let t=performance.now(),n=()=>{this.canvas&&(this.burst(0,innerHeight,{count:26,speed:1350,spread:.45,angle:-Math.PI/3,life:3.2,gravity:700}),this.burst(innerWidth,innerHeight,{count:26,speed:1350,spread:.45,angle:-2*Math.PI/3,life:3.2,gravity:700}),performance.now()-t<e&&setTimeout(n,280))};n()},frame(e){let t=this.canvas;if(!t){this.running=!1;return}let n=t.getContext(`2d`),r=Math.min(.05,(e-this.last)/1e3);this.last=e,n.clearRect(0,0,innerWidth,innerHeight),this.particles=this.particles.filter(e=>(e.age+=r)<e.life&&e.y<innerHeight+40);for(let e of this.particles){let t=e.type===`strip`?.985:.97;e.vx*=t,e.vy=e.vy*t+e.gravity*r,e.x+=e.vx*r,e.y+=e.vy*r,e.rotation+=e.spin*r,e.flip+=e.flipSpeed*r,n.save(),n.globalAlpha=1-Math.max(0,(e.age-e.life*.7)/(e.life*.3)),e.type===`spark`?(n.globalCompositeOperation=`lighter`,n.strokeStyle=e.color,n.lineWidth=2,n.beginPath(),n.moveTo(e.x,e.y),n.lineTo(e.x-e.vx*.03,e.y-e.vy*.03),n.stroke()):(n.translate(e.x,e.y),n.rotate(e.rotation),n.scale(1,Math.cos(e.flip)),n.fillStyle=e.color,n.fillRect(-e.width/2,-e.height/2,e.width,e.height)),n.restore()}this.particles.length?requestAnimationFrame(e=>this.frame(e)):(this.running=!1,n.clearRect(0,0,innerWidth,innerHeight))}}}));function L(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var R=n((()=>{})),z,B=n((()=>{Nn(),v(),C(),bs(),R(),z=class extends qr{constructor(...e){super(...e),this.timers=new Set,this.unsubscribes=[],this.watched=[]}createRenderRoot(){return this}t(e,t){return this.room.t(e,t)}watch(...e){this.watched.push(...e),this.isConnected&&this.unsubscribes.push(...e.map(e=>e.subscribe(()=>this.requestUpdate())))}later(e,t){let n=setTimeout(()=>{this.timers.delete(n),e()},t);return this.timers.add(n),n}connectedCallback(){super.connectedCallback(),this.style.display=`contents`,this.unsubscribes=this.watched.map(e=>e.subscribe(()=>this.requestUpdate()))}disconnectedCallback(){super.disconnectedCallback(),this.timers.forEach(clearTimeout),this.timers.clear(),this.unsubscribes.forEach(e=>e()),this.unsubscribes=[]}},L([jn({context:_s,subscribe:!0}),x()],z.prototype,`room`,void 0)})),Ds,Os=n((()=>{Gr(),pi(),Ds=class extends fi{constructor(e){if(super(e),this.it=_,e.type!==ui.CHILD)throw Error(this.constructor.directiveName+`() can only be used in child bindings`)}render(e){if(e===_||e==null)return this._t=void 0,this.it=e;if(e===Ar)return e;if(typeof e!=`string`)throw Error(this.constructor.directiveName+`() called with a non-string value`);if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}},Ds.directiveName=`unsafeHTML`,Ds.resultType=1,di(Ds)})),ks,As,js=n((()=>{pi(),Os(),ks=class extends Ds{},ks.directiveName=`unsafeSVG`,ks.resultType=2,As=di(ks)})),Ms=n((()=>{js()}));function V(e,t=``){let n=e.map(([e,t])=>`<${e} ${Object.entries(t).map(([e,t])=>`${e}="${Ns(t)}"`).join(` `)}/>`).join(``);return g`<svg class="fl-icon ${t}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${As(n)}</svg>`}var Ns,H=n((()=>{v(),Ms(),Ns=e=>String(e).replace(/[&<>"]/g,e=>`&#${e.charCodeAt(0)};`)})),U,W=n((()=>{k(),U={enabled:!1,context:null,output:null,last:{},enable(e){if(this.enabled=e,!e)return;if(this.context){this.context.resume();return}this.context=new AudioContext;let t=this.context.createDynamicsCompressor();t.threshold.value=-18,t.ratio.value=4,this.output=this.context.createGain(),this.output.gain.value=.7,this.output.connect(t).connect(this.context.destination)},partial(e,t,n,r){let i=this.context,a=i.createOscillator(),o=i.createGain();return a.frequency.value=e,o.gain.setValueAtTime(0,t),o.gain.linearRampToValueAtTime(r,t+.004),o.gain.exponentialRampToValueAtTime(1e-4,t+n),a.connect(o).connect(this.output),a.start(t),a.stop(t+n+.02),a},noise(e,t,n,r,i=r,a=1.2){let o=this.context,s=Math.ceil(o.sampleRate*t),c=o.createBuffer(1,s,o.sampleRate),l=c.getChannelData(0);for(let e=0;e<s;e++)l[e]=(Math.random()*2-1)*(1-e/s)**2;let u=o.createBufferSource(),d=o.createBiquadFilter(),f=o.createGain();u.buffer=c,d.type=`bandpass`,d.Q.value=a,d.frequency.setValueAtTime(r,e),d.frequency.exponentialRampToValueAtTime(i,e+t),f.gain.value=n,u.connect(d).connect(f).connect(this.output),u.start(e)},play(e,t=1,n=1){if(!this.enabled||!this.context)return;let r=this.context.currentTime;if(r-(this.last[e]??-1)<.03)return;this.last[e]=r;let i=e=>e*T(.97,1.03),a=(e,t,n,i,a,o=[1,2.76])=>t.forEach((t,s)=>o.forEach((o,c)=>this.partial(e*2**(t/12)*o,r+s*n,i,c?a/4:a)));switch(e){case`tick`:this.partial(i(2100*t),r,.05,.18*n),this.noise(r,.03,.25*n,5200);break;case`reel`:this.partial(i(760),r,.06,.06*n);break;case`stop`:this.partial(150,r,.22,.5*n).frequency.exponentialRampToValueAtTime(62,r+.18),this.partial(620,r,.06,.12*n);break;case`whoosh`:this.noise(r,.5,.35*n,300,2600,.8);break;case`bounce`:this.partial(i(2637*t),r,.35,.12*n),this.partial(i(2637*t*2.76),r,.18,.04*n);break;case`chime`:[1,2.76,5.4].forEach((e,a)=>this.partial(i(1046*t*e),r,1.4/(a+1),.16/(a+1)*n));break;case`win`:a(523,[0,4,7,12,16],.09,1.1,.12);break;case`jackpot`:a(392,[0,4,7,12,16,19,24],.11,1.8,.13,[1,2.76,5.4]),this.noise(r,1.2,.2,400,6e3,.6);break;case`stamp`:this.partial(120,r,.3,.7).frequency.exponentialRampToValueAtTime(48,r+.25),this.noise(r,.08,.5,1800,600);break;case`scratch`:this.noise(r,.06,.12*n,3200*t,2400*t,2);break;case`lever`:this.noise(r,.25,.3,1900,700,3),this.partial(170,r,.2,.35);break;case`thunder`:this.noise(r,.09,.9*n,6e3,1200,.7),this.noise(r+.02,.35,.35*n,2400,300,1.5),this.noise(r+.05,1.6,.8*n,180,45,.9);break;case`dealer`:for(let e=0;e<7;e++)this.noise(r+e*.035,.03,.12*n,4200-e*180,2600,2.5);a(659,[0,7],.12,1.2,.07,[1,2.76]);break;case`ambient`:a(E([392,440,523,587,659])*E([1,2]),E([[0,4,7],[0,7,12],[0,4,7,12],[12,7,4,0]]),.085,.7,.018,[1]),Math.random()<.4&&this.noise(r+.3,.12,.05,4200,3e3,3)}}}})),Ps=n((()=>{}));function Fs(e){let t=0,n=0;return zs.flatMap(r=>[r===`small`||r===`pale`?{kind:`small`,award:e.small[t++%e.small.length],pale:r===`pale`}:r===`big`?{kind:`big`,award:e.big[n++%e.big.length]}:{kind:r},{kind:`none`}])}function Is(e,t){return t===`jackpot`?{index:Hs(e,e=>e.kind===`jackpot`)[0],bonus:!1}:t===`none`?{index:E(Hs(e,e=>e.kind===`none`)),bonus:!1}:Math.random()<Bs?{index:E(Hs(e,Vs)),bonus:!0}:{index:E(Hs(e,e=>e.kind===t)),bonus:!1}}function Ls(e,t,n,r=Math.random()){let{small:i,big:a,jackpot:o}=cs,s=t=>e.filter(t).length,c=e=>{if(e.kind===`jackpot`)return o;if(Vs(e))return Bs*(i+a)/s(Vs);if(e.kind===`small`||e.kind===`big`){let t=e.kind;return .6*cs[t]/s(e=>e.kind===t)}return 0},l=e.map(e=>c(e)*(Us(e)===t?n:1)),u=(1-l.reduce((e,t)=>e+t,0))/s(e=>e.kind===`none`),d=r,f=e.findIndex((e,t)=>(d-=e.kind===`none`?u:l[t])<0),p=e[f];return Vs(p)?{index:f,tier:Math.random()<i/(i+a)?`small`:`big`}:{index:f,tier:p.kind}}function Rs(e,t){let n=t.kind===`small`||t.kind===`big`?xo(e,t.kind,t.award):e,r=ms(`wheel`,n.map(e=>e.id));return e.find(e=>e.id===r)??n[0]}var zs,Bs,Vs,Hs,Us,Ws,Gs=n((()=>{A(),k(),N(),zs=`jackpot.small.big.coin.pale.small.hunt.big.small.pachinko.pale.small.coin.big.pale.small.hunt.big.small.coin.pale.big.pachinko.small.pale.coin.small`.split(`.`),Bs=.4,Vs=e=>e.kind===`coin`||e.kind===`hunt`||e.kind===`pachinko`,Hs=(e,t)=>e.flatMap((e,n)=>t(e)?[n]:[]),Us=e=>e.kind===`small`||e.kind===`big`?Do(e.kind,e.award):e.kind,Ws=e=>[...new Set(e.filter(e=>e.kind!==`none`).map(Us))]})),Ks,qs=n((()=>{v(),Ks=(e,t,n=!1)=>h`
|
|
4
4
|
<span class="lk-boost" role="img" aria-label=${e(n?`boost.dealerOdds`:`boost.odds`,{n:t})}>
|
|
5
5
|
<small aria-hidden="true">${e(n?`boost.dealer`:`boost.title`)}</small>
|
|
6
6
|
<b aria-hidden="true">${e(`boost.badge`,{n:t})}</b>
|
|
7
7
|
</span>
|
|
8
|
-
`}));function
|
|
8
|
+
`}));function Js(e,{state:t,rules:n,multiplier:r,dealer:i},a,o){return h`
|
|
9
9
|
<div class="lk-stage">
|
|
10
10
|
<div class="lk-machine" data-state=${t}>
|
|
11
11
|
<svg class="lk-backdrop" viewBox="0 0 900 800" preserveAspectRatio="xMidYMid slice" aria-hidden="true">
|
|
12
|
-
${
|
|
12
|
+
${Ys.map(e=>g`<polyline points=${e} fill="none" stroke="#d4a94e" stroke-opacity="0.12" stroke-width="0.5" />`)}
|
|
13
13
|
</svg>
|
|
14
14
|
<i class="lk-bulbs" aria-hidden="true"></i>
|
|
15
|
-
${r&&r>1?
|
|
15
|
+
${r&&r>1?Ks(e,r,i):_}
|
|
16
16
|
<fl-rules .text=${n}></fl-rules>
|
|
17
17
|
<div class="lk-game">${a}</div>
|
|
18
18
|
${o??_}
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
|
-
`}var
|
|
21
|
+
`}var Ys,Xs,Zs=n((()=>{v(),C(),w(),Es(),B(),H(),qs(),R(),Ys=Cs(450,400,1.25),Xs=class extends z{constructor(...e){super(...e),this.text=``,this.open=!1,this.key=e=>{this.open&&e.key===`Escape`&&(e.stopPropagation(),this.open=!1)},this.outside=e=>{this.open&&!e.composedPath().includes(this)&&(this.open=!1)}}connectedCallback(){super.connectedCallback(),addEventListener(`keydown`,this.key,!0),addEventListener(`pointerdown`,this.outside,!0)}disconnectedCallback(){super.disconnectedCallback(),removeEventListener(`keydown`,this.key,!0),removeEventListener(`pointerdown`,this.outside,!0)}render(){return h`
|
|
22
22
|
<div class="lk-help">
|
|
23
23
|
<button class="lk-round ${this.open?`is-open`:``}" aria-label=${this.t(`rules`)} aria-expanded=${this.open} aria-controls="lk-rules" @click=${()=>this.open=!this.open}>
|
|
24
|
-
${V(
|
|
24
|
+
${V(ea)}
|
|
25
25
|
</button>
|
|
26
26
|
${this.open?h`<div id="lk-rules" class="lk-rules" role="dialog" aria-label=${this.t(`rules`)}><h4>${this.t(`rules`)}</h4><p>${this.text}</p></div>`:_}
|
|
27
27
|
</div>
|
|
28
|
-
`}},L([b()],
|
|
28
|
+
`}},L([b()],Xs.prototype,`text`,void 0),L([x()],Xs.prototype,`open`,void 0),Xs=L([y(`fl-rules`)],Xs)})),Qs,$s=n((()=>{v(),C(),w(),A(),B(),H(),F(),W(),R(),Qs=class extends z{constructor(...e){super(...e),this.flipping=!1,this.goldWins=Math.random()<.5}async flip(){this.flipping=!0,U.play(`whoosh`);let e=2880+(this.goldWins?0:180),t=P()?1:1800;this.coin?.animate([{transform:`translateY(0) rotateX(0) scale(1)`,easing:`cubic-bezier(.15,.75,.35,1)`},{transform:`translateY(-150px) rotateX(${e*.55}deg) scale(1.25)`,offset:.45,easing:`cubic-bezier(.6,0,.9,.5)`},{transform:`translateY(0) rotateX(${e-12}deg) scale(1)`,offset:.9},{transform:`translateY(0) rotateX(${e}deg) scale(1)`}],{duration:t,fill:`forwards`}),this.shadow?.animate([{transform:`scale(1)`,opacity:1},{transform:`scale(.45)`,opacity:.25,offset:.45},{transform:`scale(1)`,opacity:1}],{duration:t}),await xs(t),U.play(`stop`),U.play(`chime`,1.2),this.later(()=>this.dispatchEvent(new CustomEvent(`done`)),P()?0:800)}label({tier:e,award:t}){return(e===`none`?void 0:wo(this.room.prize(this.prizeId),e).find(e=>To(e)===t))?.label??this.room.award(e,t)}render(){let[e,t]=this.goldWins?[this.won,this.other]:[this.other,this.won];return h`
|
|
29
29
|
<div class="lk-bonus">
|
|
30
30
|
<div class="lk-bonus-card">
|
|
31
31
|
<h3>${this.t(`wheel.segment.coin`)}</h3>
|
|
@@ -37,10 +37,10 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
37
37
|
<div class="lk-coin-face lk-coin-face--ruby"><span>${this.label(t)}<small>${this.t(`coin.ruby`)}</small></span></div>
|
|
38
38
|
</div>
|
|
39
39
|
</div>
|
|
40
|
-
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${this.flipping} @click=${this.flip}>${V(
|
|
40
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${this.flipping} @click=${this.flip}>${V(oa)}${this.t(`coin.flip`)}</button>
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
|
-
`}},L([b({attribute:!1})],
|
|
43
|
+
`}},L([b({attribute:!1})],Qs.prototype,`won`,void 0),L([b({attribute:!1})],Qs.prototype,`other`,void 0),L([b({attribute:!1})],Qs.prototype,`prizeId`,void 0),L([x()],Qs.prototype,`flipping`,void 0),L([S(`.lk-coin`)],Qs.prototype,`coin`,void 0),L([S(`.lk-coin-shadow`)],Qs.prototype,`shadow`,void 0),Qs=L([y(`fl-wheel-coin`)],Qs)}));function ec(e,t,n,r){let[i,a]=nc(t,n),[o,s]=nc(t,r),[c,l]=nc(e,r),[u,d]=nc(e,n);return`M${u.toFixed(2)} ${d.toFixed(2)}L${i.toFixed(2)} ${a.toFixed(2)}A${t} ${t} 0 0 1 ${o.toFixed(2)} ${s.toFixed(2)}L${c.toFixed(2)} ${l.toFixed(2)}A${e} ${e} 0 0 0 ${u.toFixed(2)} ${d.toFixed(2)}Z`}var tc,nc,rc,ic,ac=n((()=>{v(),C(),Gs(),B(),R(),tc=250,nc=(e,t)=>{let n=t*Math.PI/180;return[e*Math.sin(n),-e*Math.cos(n)]},rc=Array.from({length:18},(e,t)=>t*10),ic=class extends z{constructor(...e){super(...e),this.rootClass=``,this.prefix=`wheel`,this.boosted=[],this.boostLabel=``,this.winPath=``}get segments(){return Fs(this.room.board)}highlight(e){let t=360/this.segments.length;this.winPath=e===null?``:ec(64,tc,e*t,(e+1)*t)}render(){let{prefix:e,segments:t}=this,n=360/t.length,r={none:{fill:`#2a170c`,ink:`#d4a94e`},small:{fill:`#1d3561`,ink:`#f6e2a6`},big:{fill:`#7d1c24`,ink:`#f6e2a6`},coin:{fill:`#1d3561`,ink:`#fff`},hunt:{fill:`#1c6136`,ink:`#fff`},pachinko:{fill:`#22584d`,ink:`#fff`},jackpot:{fill:`url(#${e}-jackpot)`,ink:`#2a1a05`}},i=t.map((e,t)=>{let i=t*n,a=i+n/2,o=e.kind===`small`&&e.pale;return{path:ec(64,tc,i,i+n),split:e.kind===`coin`?ec(64,tc,a,i+n):null,fill:o?`#efe4c8`:r[e.kind].fill,ink:o?`#3a240a`:r[e.kind].ink,label:e.kind===`none`?``:e.kind===`small`||e.kind===`big`?this.room.award(e.kind,e.award):this.t(`wheel.segment.${e.kind}`),labelTransform:`rotate(${a-90}) translate(158 0)`,dot:e.kind===`none`?nc(214,a):null,peg:nc(247,i),spoke:[nc(64,i),nc(tc,i)]}}),a=this.boosted.map(e=>({path:ec(64,tc,e*n,(e+1)*n),badge:`rotate(${e*n+n/2}) translate(0 -226)`})),o=t.map((e,t)=>nc(268,t*n+n/2));return h`
|
|
44
44
|
<svg class=${this.rootClass} viewBox="-300 -300 600 600">
|
|
45
45
|
<defs>
|
|
46
46
|
<linearGradient id="${e}-jackpot" gradientUnits="userSpaceOnUse" x1="-60" y1="-250" x2="60" y2="-60">
|
|
@@ -63,7 +63,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
63
63
|
${e.split?g`<path d=${e.split} fill="#7d1c24" />`:``}
|
|
64
64
|
<line x1=${e.spoke[0][0]} y1=${e.spoke[0][1]} x2=${e.spoke[1][0]} y2=${e.spoke[1][1]} stroke="rgb(243 212 136 / .35)" stroke-width="1.2" />
|
|
65
65
|
`)}
|
|
66
|
-
<circle r=${
|
|
66
|
+
<circle r=${tc} fill="url(#${e}-shade)" />
|
|
67
67
|
${a.map(e=>g`<path class="lk-wheel-boost" d=${e.path} />`)}
|
|
68
68
|
${i.map(t=>g`
|
|
69
69
|
${t.label?g`<text
|
|
@@ -83,7 +83,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
83
83
|
`)}
|
|
84
84
|
<circle r="66" fill="url(#${e}-gold)" />
|
|
85
85
|
<circle r="58" fill="url(#${e}-hub)" />
|
|
86
|
-
${
|
|
86
|
+
${rc.map(e=>g`<ellipse rx="44" ry="15" transform="rotate(${e})" fill="none" stroke="#f3d488" stroke-opacity=".35" stroke-width=".6" />`)}
|
|
87
87
|
<foreignObject class="lk-wheel-logo" x="-17" y="-20" width="34" height="40">${this.room.logo()}</foreignObject>
|
|
88
88
|
${a.map(t=>g`
|
|
89
89
|
<g class="lk-wheel-badge" transform=${t.badge}>
|
|
@@ -98,7 +98,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
98
98
|
${o.map(([e,t],n)=>g`<circle class="lk-lamp" style="--i: ${n}" cx=${e} cy=${t} r="4.4" />`)}
|
|
99
99
|
<circle r="250" fill="url(#${e}-gloss)" pointer-events="none" />
|
|
100
100
|
</svg>
|
|
101
|
-
`}},L([b()],
|
|
101
|
+
`}},L([b()],ic.prototype,`rootClass`,void 0),L([b()],ic.prototype,`prefix`,void 0),L([b({attribute:!1})],ic.prototype,`boosted`,void 0),L([b()],ic.prototype,`boostLabel`,void 0),L([x()],ic.prototype,`winPath`,void 0),L([S(`.lk-rotor`)],ic.prototype,`rotor`,void 0),ic=L([y(`fl-wheel-face`)],ic)})),oc,sc=n((()=>{v(),C(),w(),k(),B(),H(),F(),W(),R(),oc=class extends z{constructor(...e){super(...e),this.tiles=[],this.picked=null}willUpdate(e){if(super.willUpdate(e),this.tiles.length)return;let{small:t,big:n}=this.room.board,r=[...[...t,...t].map(e=>({tier:`small`,award:e})),...n.map(e=>({tier:`big`,award:e}))];this.tiles=Array.from({length:18},()=>({...E(r),open:!1}))}async choose(e){this.picked===null&&(this.picked=e,this.tiles=this.tiles.map((t,n)=>n===e?{...this.won,open:!0}:t),U.play(`tick`,1.3),await xs(P()?0:700),U.play(`chime`),this.tiles.forEach((e,t)=>this.later(()=>this.tiles=this.tiles.map((e,n)=>n===t?{...e,open:!0}:e),P()?0:t*35)),this.later(()=>this.dispatchEvent(new CustomEvent(`done`)),P()?0:1600))}render(){return h`
|
|
102
102
|
<div class="lk-bonus">
|
|
103
103
|
<div class="lk-bonus-card">
|
|
104
104
|
<h3>${this.t(`wheel.segment.hunt`)}</h3>
|
|
@@ -106,22 +106,22 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
106
106
|
<div class="lk-hunt">
|
|
107
107
|
${this.tiles.map((e,t)=>h`
|
|
108
108
|
<button class=${e.open?`is-open`:``} aria-label=${this.t(`hunt.tile`,{n:t+1})} @click=${()=>this.choose(t)}>
|
|
109
|
-
<span class="lk-face">${V(
|
|
109
|
+
<span class="lk-face">${V(Xa)}</span>
|
|
110
110
|
<span class="lk-back ${this.picked===t?`is-pick`:``}">${this.room.award(e.tier,e.award)}</span>
|
|
111
111
|
</button>
|
|
112
112
|
`)}
|
|
113
113
|
</div>
|
|
114
114
|
</div>
|
|
115
115
|
</div>
|
|
116
|
-
`}},L([b({attribute:!1})],
|
|
116
|
+
`}},L([b({attribute:!1})],oc.prototype,`won`,void 0),L([x()],oc.prototype,`tiles`,void 0),L([x()],oc.prototype,`picked`,void 0),oc=L([y(`fl-wheel-hunt`)],oc)})),cc,lc,G,uc=n((()=>{v(),C(),w(),A(),k(),Po(),N(),Gs(),B(),H(),F(),W(),Zs(),$s(),ac(),sc(),R(),cc={scale:2.4,originY:-.06},lc=e=>1-(1-e)**3,G=class extends z{constructor(...e){super(...e),this.options={},this.state=`idle`,this.prizeId=null,this.topSet=!1,this.topBlur=!1,this.bonus=null,this.grabbed=!1,this.zoomed=!1,this.boosted=null,this.boost=M(`wheel`),this.boosterDay=this.boost>1,this.angle=T(0,360),this.velocity=0,this.direction=1,this.phase=`idle`,this.freeSince=0,this.brake={from:0,distance:0,start:0,duration:1},this.target=0,this.tier=`none`,this.lastIndex=-1,this.lastTick=0,this.raf=0,this.previous=0,this.top={position:0,state:`idle`,from:0,to:0,start:0,duration:1},this.boostTop={...this.top,key:``},this.prize={won:{tier:`none`,award:null},other:{tier:`none`,award:null}},this.frame=e=>{let t=Math.min(.05,(e-this.previous)/1e3);if(this.previous=e,this.phase===`free`)this.velocity*=Math.exp(-t/2.6),Math.abs(this.velocity)<260&&(this.velocity=260*this.direction),this.angle+=this.velocity*t,this.boostTop.state===`spinning`&&e-this.freeSince>350&&this.stopBoost(e),e-this.freeSince>900&&this.planBrake(e);else if(this.phase===`brake`){let t=Math.min(1,(e-this.brake.start)/this.brake.duration);if(this.angle=this.brake.from+this.brake.distance*lc(t),this.velocity=this.brake.distance*3*(1-t)**2/(this.brake.duration/1e3),t>=1)return this.land()}if(this.boostTop.state===`spinning`&&(this.boostTop.position+=18*t),this.boostTop.state===`stopping`){let t=Math.min(1,(e-this.boostTop.start)/this.boostTop.duration);this.boostTop.position=this.boostTop.from+(this.boostTop.to-this.boostTop.from)*lc(t),t>=1&&this.settleBoost()}if(this.top.state===`spinning`&&(this.top.position+=14*t),this.top.state===`stopping`){let t=Math.min(1,(e-this.top.start)/this.top.duration);this.top.position=this.top.from+(this.top.to-this.top.from)*lc(t),this.topBlur=t<.6,t>=1&&this.settleTop()}this.draw(),this.raf=requestAnimationFrame(this.frame)},this.bonusWon=()=>{this.room.finish({game:`wheel`,tier:this.tier,prizeId:this.prizeId,award:this.prize.won.award,detail:{key:`detail.wheel.${this.bonus}`}})},this.drag=null,this.zoom=e=>{e.deltaY&&(e.preventDefault(),this.zoomed=e.deltaY<0)},this.fingers=new Map,this.pinch=null,this.grab=e=>{this.fingers.set(e.pointerId,{x:e.clientX,y:e.clientY}),this.fingers.size===2?(this.drag=null,this.grabbed=!1,this.pinch=this.spread()):this.phase===`idle`&&(this.wrap.setPointerCapture(e.pointerId),this.grabbed=!0,this.drag={last:this.pointerAngle(e),samples:[{t:performance.now(),a:this.angle}]})},this.move=e=>{if(this.fingers.has(e.pointerId)&&this.fingers.set(e.pointerId,{x:e.clientX,y:e.clientY}),this.pinch!==null&&this.fingers.size===2){let e=this.spread()/this.pinch;(e>1.25||e<.8)&&(this.zoomed=e>1,this.pinch=this.spread());return}if(!this.drag)return;let t=this.pointerAngle(e),n=vo(t-this.drag.last+180,360)-180;this.drag.last=t,this.angle+=n;let r=performance.now();this.drag.samples=[...this.drag.samples,{t:r,a:this.angle}].filter(e=>r-e.t<120),this.draw()},this.release=e=>{if(this.fingers.delete(e.pointerId),this.pinch!==null){this.fingers.size||(this.pinch=null);return}if(!this.drag)return;this.grabbed=!1;let[t]=this.drag.samples,n=performance.now(),r=t&&this.drag.samples.length>1&&n-t.t>10?(this.angle-t.a)/(n-t.t)*1e3:0;this.drag=null,Math.abs(r)>220&&this.spin(Math.max(-1900,Math.min(1900,r)))}}get segments(){return Fs(this.room.board)}get keys(){return Ws(this.segments)}segmentLabel(e){let t=this.segments.find(t=>Us(t)===e);return t.kind===`small`||t.kind===`big`?this.room.award(t.kind,t.award):this.t(`wheel.segment.${t.kind}`)}indexAt(e){return Math.floor(vo(-e,360)/(360/this.segments.length))}draw(){this.face?.rotor?.setAttribute(`transform`,`rotate(${this.angle})`),this.strip&&(this.strip.style.transform=`translateY(${-vo(this.top.position,this.room.prizeIds.length*9)*40}px)`),this.boostStrip&&(this.boostStrip.style.transform=`translateY(${-vo(this.boostTop.position,this.keys.length*9)*40}px)`);let e=this.indexAt(this.angle);e!==this.lastIndex&&(this.lastIndex!==-1&&this.phase!==`idle`&&performance.now()-this.lastTick>40&&(this.lastTick=performance.now(),U.play(`tick`,1+Math.min(.3,Math.abs(this.velocity)/4e3)),this.pointer?.animate([{transform:`rotate(${-this.direction*22}deg)`},{transform:`rotate(0deg)`}],{duration:170,easing:`cubic-bezier(.2,.8,.3,1)`})),this.lastIndex=e)}planBrake(e){let t=360/this.segments.length,n=vo(-(this.target+.5+T(-.3,.3))*t,360),r=this.direction>0?vo(n-this.angle,360):-vo(this.angle-n,360);for(;3*Math.abs(r)/Math.abs(this.velocity)<4.2;)r+=this.direction*360;this.brake={from:this.angle,distance:r,start:e,duration:3*Math.abs(r)/Math.abs(this.velocity)*1e3},this.phase=`brake`;let i=this.room.prizeIds.length,a=Math.ceil(this.top.position/i)*i+i*2;this.top={...this.top,state:`stopping`,from:this.top.position,to:a+this.room.prizeIds.indexOf(this.prizeId),start:e,duration:Math.min(this.brake.duration*.55,1600)}}settleTop(){this.top.state=`set`,this.top.position=this.top.to,this.topSet=!0,this.topBlur=!1,U.play(`stop`,1,.7)}stopBoost(e){let t=this.keys.length,n=Math.ceil(this.boostTop.position/t)*t+t*2;this.boostTop={...this.boostTop,state:`stopping`,from:this.boostTop.position,to:n+this.keys.indexOf(this.boostTop.key),start:e,duration:900}}settleBoost(){this.boostTop={...this.boostTop,state:`set`,position:this.boostTop.to},this.boosted=this.boostTop.key,U.play(`chime`,1.6,.8)}spin(e){if(this.phase!==`idle`)return;this.face?.highlight(null);let t=this.segments,n;if(this.boosterDay){let e=j(`wheel.booster`,{boost:this.boost,segments:t},()=>E(Ws(t))),r=Ls(t,e,this.boost);n=j(`tier`,{game:`wheel`,boost:this.boost},()=>r.tier),this.target=j(`wheel.segment`,{tier:n,segments:t},()=>r.tier===n?r.index:Is(t,n).index),this.boosted=null,this.boostTop={...this.boostTop,key:e,state:`spinning`}}else n=ps(`wheel`,this.boost),this.target=j(`wheel.segment`,{tier:n,segments:t},()=>Is(t,n).index);if(this.tier=n,this.prizeId=Rs(this.room.prizes,t[this.target]).id,this.direction=Math.sign(e)||1,this.velocity=e,this.phase=`free`,this.freeSince=performance.now(),this.top={...this.top,state:`spinning`},this.topBlur=!0,this.topSet=!1,this.state=`spinning`,U.play(`whoosh`),P())return this.boosterDay&&(this.boostTop.to=this.keys.indexOf(this.boostTop.key),this.settleBoost()),this.planBrake(performance.now()),this.angle=this.brake.from+this.brake.distance,this.top.position=this.top.to,this.settleTop(),this.draw(),this.land();this.previous=performance.now(),this.raf=requestAnimationFrame(this.frame)}land(){this.phase=`done`,cancelAnimationFrame(this.raf),this.top.state!==`set`&&(this.top.position=this.top.to,this.settleTop()),this.draw(),this.state=`won`,this.face?.highlight(this.target);let e=this.segments[this.target];if(U.play(e.kind===`none`?`stop`:`chime`,e.kind===`jackpot`?1.5:1),e.kind===`none`){this.state=`idle`,this.phase=`idle`;return}let{tier:t}=this,n=this.room.prize(this.prizeId);this.later(()=>{if(e.kind===`coin`||e.kind===`hunt`||e.kind===`pachinko`){let r=t===`small`?`big`:`small`;this.prize={won:{tier:t,award:bo(n,t)},other:{tier:r,award:bo(n,r)}},this.bonus=e.kind;return}let r=`award`in e?e.award:bo(n,t);this.room.finish({game:`wheel`,tier:t,prizeId:this.prizeId,award:r,detail:{key:`detail.wheel.${e.kind}`}})},P()?200:1300)}pointerAngle(e){let t=this.wrap.getBoundingClientRect(),n=this.zoomed?cc.originY+(.5-cc.originY)*cc.scale:.5;return Math.atan2(e.clientY-t.top-t.height*n,e.clientX-t.left-t.width/2)*180/Math.PI}spread(){let[e,t]=[...this.fingers.values()];return Math.hypot(e.x-t.x,e.y-t.y)}async firstUpdated(){await this.face?.updateComplete,this.draw()}disconnectedCallback(){super.disconnectedCallback(),cancelAnimationFrame(this.raf)}overlay(){if(this.bonus===`coin`)return h`<fl-wheel-coin .won=${this.prize.won} .other=${this.prize.other} .prizeId=${this.prizeId} @done=${this.bonusWon}></fl-wheel-coin>`;if(this.bonus===`hunt`)return h`<fl-wheel-hunt .won=${this.prize.won} @done=${this.bonusWon}></fl-wheel-hunt>`;if(this.bonus!==`pachinko`)return;let e={prizeId:this.prizeId,tier:this.tier,award:this.prize.won.award};return h`
|
|
117
117
|
<div class="lk-bonus">
|
|
118
118
|
<div class="lk-bonus-card">
|
|
119
119
|
<h3>${this.t(`wheel.pachinkoTitle`)}</h3>
|
|
120
120
|
<p>${this.t(`wheel.pachinkoText`,{prize:this.room.name(this.prizeId)})}</p>
|
|
121
|
-
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${()=>this.room.go(`pachinko`,{bonus:e})}>${V(
|
|
121
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${()=>this.room.go(`pachinko`,{bonus:e})}>${V(Bi)}${this.t(`wheel.toPachinko`)}</button>
|
|
122
122
|
</div>
|
|
123
123
|
</div>
|
|
124
|
-
`}render(){let{boost:e,boosterDay:t,segments:n}=this,r=n.flatMap((e,t)=>
|
|
124
|
+
`}render(){let{boost:e,boosterDay:t,segments:n}=this,r=n.flatMap((e,t)=>Us(e)===this.boosted?[t]:[]),i=t?this.t(`wheel.boosterRules`,{n:e}):this.t(`games.wheel.rules`),a=Array.from({length:10},()=>this.room.prizeIds).flat(),o=Array.from({length:10},()=>this.keys).flat();return Js(this.room.t,{state:this.state,rules:i,multiplier:e},h`
|
|
125
125
|
<div class="lk-wheel-game is-${this.state}">
|
|
126
126
|
<div class="lk-booster ${this.topBlur?`is-blur`:``} ${this.topSet?`is-set`:``}">
|
|
127
127
|
<span>${this.t(`wheel.booster`)}</span>
|
|
@@ -141,7 +141,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
141
141
|
</div>
|
|
142
142
|
<div
|
|
143
143
|
class="lk-wheel-wrap ${this.grabbed?`is-grabbed`:``} ${this.zoomed?`is-zoomed`:``}"
|
|
144
|
-
style="--lk-zoom: ${
|
|
144
|
+
style="--lk-zoom: ${cc.scale}; --lk-zoom-y: ${cc.originY*100}%"
|
|
145
145
|
@wheel=${this.zoom}
|
|
146
146
|
@pointerdown=${this.grab}
|
|
147
147
|
@pointermove=${this.move}
|
|
@@ -161,23 +161,23 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
161
161
|
</div>
|
|
162
162
|
<div class="lk-controls">
|
|
163
163
|
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${this.state!==`idle`} @click=${()=>this.spin(T(1050,1350))}>
|
|
164
|
-
${V(
|
|
164
|
+
${V(Ja)}${this.t(`wheel.spin`)}
|
|
165
165
|
</button>
|
|
166
166
|
<div class="lk-hint">${this.t(`wheel.hint`)}</div>
|
|
167
167
|
</div>
|
|
168
168
|
</div>
|
|
169
|
-
`,this.overlay())}},L([b({attribute:!1})],
|
|
169
|
+
`,this.overlay())}},L([b({attribute:!1})],G.prototype,`options`,void 0),L([x()],G.prototype,`state`,void 0),L([x()],G.prototype,`prizeId`,void 0),L([x()],G.prototype,`topSet`,void 0),L([x()],G.prototype,`topBlur`,void 0),L([x()],G.prototype,`bonus`,void 0),L([x()],G.prototype,`grabbed`,void 0),L([x()],G.prototype,`zoomed`,void 0),L([x()],G.prototype,`boosted`,void 0),L([S(`fl-wheel-face`)],G.prototype,`face`,void 0),L([S(`.lk-wheel-wrap`)],G.prototype,`wrap`,void 0),L([S(`.lk-pointer`)],G.prototype,`pointer`,void 0),L([S(`.lk-window ul`)],G.prototype,`strip`,void 0),L([S(`.lk-window--boost ul`)],G.prototype,`boostStrip`,void 0),G=L([y(`fl-wheel`)],G)}));function dc(e){let t=[...Array.from({length:Math.max(9,e.length)},(t,n)=>e[n%e.length]),`seven`,`seven`,`inf`];return[0,1,2].map(()=>D(t))}function fc(e,t,n=E(t)){if(e===`jackpot`)return{symbols:[`inf`,`inf`,`inf`],prizeId:n};if(e===`big`){let e=Math.random()<.3?`seven`:n;return{symbols:[e,e,e],prizeId:n}}if(e===`small`){let e=E([...t.filter(e=>e!==n),`seven`,`inf`]);return{symbols:D([n,n,e]),prizeId:n}}let r=D([...t,`seven`,`inf`]).slice(0,3);for(;r.length<3;)r.push(E([`seven`,`inf`]));return{symbols:r,prizeId:n}}function pc(e,t){let n=t=>e.filter(e=>e===t).length,r=e.filter(e=>n(e)>=2).sort((e,r)=>n(r)-n(e)||Number(r===t)-Number(e===t))[0];return r?e.flatMap((e,t)=>e===r?[t]:[]):[]}var mc=n((()=>{k()})),hc,gc,_c,vc,yc=n((()=>{v(),C(),B(),R(),hc=Array.from({length:22},(e,t)=>({x:22+t%11*37.6,y:t<11?9:77})),gc=g`<svg viewBox="0 0 64 64" role="img" aria-label="∞">
|
|
170
170
|
<path d="M21 22c-6 0-10.5 4.5-10.5 10s4.5 10 10.5 10c8.5 0 13.5-20 22-20 6 0 10.5 4.5 10.5 10s-4.5 10-10.5 10c-8.5 0-13.5-20-22-20z" fill="none" stroke="#1c6136" stroke-width="7.5" stroke-linecap="round" />
|
|
171
|
-
</svg>`,
|
|
171
|
+
</svg>`,_c=g`<svg viewBox="0 0 64 64" role="img" aria-label="7">
|
|
172
172
|
<text x="32" y="53" text-anchor="middle" font-family="'Playfair Display', Georgia, serif" font-weight="800" font-size="58" fill="#9e1b22" stroke="#4a0a10" stroke-width="2" paint-order="stroke">7</text>
|
|
173
|
-
</svg>`,
|
|
173
|
+
</svg>`,vc=class extends z{constructor(...e){super(...e),this.strips=[],this.mini=!1,this.state=`idle`,this.rootClass=``,this.pull=()=>{this.mini||this.dispatchEvent(new CustomEvent(`pull`))}}symbol(e){return e===`inf`?gc:e===`seven`?_c:h`<img src=${this.room.icon(e)} alt=${this.room.name(e)} />`}render(){let e=h`<div class="lk-base"></div><div class="lk-rod"><div class="lk-knob"></div></div>`;return h`
|
|
174
174
|
<div class="lk-slot is-${this.state} ${this.rootClass}">
|
|
175
175
|
<div class="lk-slot-strip lk-slot-strip--left"></div>
|
|
176
176
|
<div class="lk-slot-strip lk-slot-strip--right"></div>
|
|
177
177
|
<div class="lk-slot-cab">
|
|
178
178
|
<div class="lk-slot-sign">
|
|
179
179
|
<svg viewBox="0 0 418 86" preserveAspectRatio="none" aria-hidden="true">
|
|
180
|
-
${
|
|
180
|
+
${hc.map((e,t)=>g`<circle class="lk-slot-lamp" style="--i: ${t}" cx=${e.x} cy=${e.y} r="4.2" />`)}
|
|
181
181
|
</svg>
|
|
182
182
|
<b>${this.t(`slot.sign`)}</b>
|
|
183
183
|
</div>
|
|
@@ -195,10 +195,10 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
195
195
|
</div>
|
|
196
196
|
${this.mini?h`<div class="lk-lever">${e}</div>`:h`<button class="lk-lever" aria-label=${this.t(`slot.lever`)} @click=${this.pull}>${e}</button>`}
|
|
197
197
|
</div>
|
|
198
|
-
`}},L([b({attribute:!1})],
|
|
198
|
+
`}},L([b({attribute:!1})],vc.prototype,`strips`,void 0),L([b({type:Boolean})],vc.prototype,`mini`,void 0),L([b()],vc.prototype,`state`,void 0),L([b()],vc.prototype,`rootClass`,void 0),L([b({attribute:!1})],vc.prototype,`tray`,void 0),vc=L([y(`fl-slot-machine`)],vc)})),bc,xc,Sc,Cc=n((()=>{v(),C(),w(),A(),k(),Po(),mc(),N(),Zs(),B(),Es(),H(),F(),W(),yc(),R(),bc=100,xc=22,Sc=class extends z{constructor(...e){super(...e),this.options={},this.state=`idle`,this.readout=``,this.strips=[],this.boost=M(`slot`),this.stripsOf=``,this.reels=[],this.raf=0,this.previous=0,this.ticker=0,this.tier=`none`,this.prizeId=``,this.line=[],this.suspense=!1,this.pull=()=>{this.state!==`spinning`&&(U.play(`lever`),this.querySelector(`.lk-rod`)?.animate([{transform:`scaleY(1)`},{transform:`scaleY(-.25)`,offset:.28,easing:`cubic-bezier(.3,0,.2,1)`},{transform:`scaleY(1.04)`,offset:.72},{transform:`scaleY(.98)`,offset:.86},{transform:`scaleY(1)`}],{duration:P()?1:760,easing:`ease-out`}),this.later(()=>this.spin(),P()?0:220))},this.frame=e=>{let t=Math.min(.05,(e-this.previous)/1e3);this.previous=e;let n=this.reels;if(n.forEach((r,i)=>{if(r.phase===`spin`)r.velocity=xc*Math.min(1,(e-r.startedAt)/260)**2,r.pos-=r.velocity*t,i===2&&r.stopAt-e<1100&&n[1].phase!==`spin`&&this.suspense&&this.reelElements()[2]?.classList.add(`is-suspense`),e>=r.stopAt&&Object.assign(r,{phase:`brake`,brakeStart:e,from:r.target+5,to:r.target-.14,pos:r.target+5,brakeDuration:5.14*3*1e3/xc});else if(r.phase===`brake`){let t=Math.min(1,(e-r.brakeStart)/r.brakeDuration);r.pos=r.from+(r.to-r.from)*(1-(1-t)**3),r.velocity=3*(r.from-r.to)*(1-t)**2*1e3/r.brakeDuration,t>=1&&(Object.assign(r,{phase:`settle`,settleStart:e}),U.play(`stop`,1,i===2?1:.75),this.reelElements()[i]?.classList.remove(`is-suspense`))}else if(r.phase===`settle`){let t=Math.min(1,(e-r.settleStart)/220);r.pos=r.to+(r.target-r.to)*(1-(1-t)**2),r.velocity=0,t>=1&&(r.phase=`idle`)}this.draw(i)}),n.every(e=>e.phase===`idle`))return clearInterval(this.ticker),this.settle();this.raf=requestAnimationFrame(this.frame)}}get size(){return this.strips[0].length}reelElements(){return[...this.querySelectorAll(`.lk-reel`)]}draw(e){let t=this.reels[e],n=this.reelElements()[e];n&&(n.querySelector(`ul`).style.transform=`translateY(${-(vo(t.pos,this.size)+this.size-1)*bc}px)`,n.classList.toggle(`is-blur`,t.velocity>8))}willUpdate(e){e.has(`room`)&&this.stripsOf!==this.room.prizeIds.join()&&(this.stripsOf=this.room.prizeIds.join(),this.strips=dc(this.room.prizeIds),this.reels=Array.from({length:3},()=>({pos:Math.floor(Math.random()*this.size),phase:`idle`,velocity:0,target:0,startedAt:0,stopAt:0,from:0,to:0,brakeStart:0,brakeDuration:1,settleStart:0})),this.state===`idle`&&(this.readout=this.t(`slot.ready`)))}updated(e){e.has(`strips`)&&this.machine?.updateComplete.then(()=>this.reels.forEach((e,t)=>this.draw(t)))}spin(){if(this.state===`spinning`)return;let{prizeIds:e}=this.room,t=this.tier=ps(`slot`,this.boost),n=this.prizeId=ms(`slot`,e);this.line=j(`slot.line`,{tier:t,prizeId:n},()=>fc(t,e,n).symbols),this.state=`spinning`,this.readout=this.t(`slot.spinning`),this.querySelectorAll(`.lk-reel li.is-win`).forEach(e=>e.classList.remove(`is-win`));let r=performance.now();if(this.suspense=pc(this.line.slice(0,2)).length===2,this.reels.forEach((e,t)=>{let n=this.strips[t].flatMap((e,n)=>e===this.line[t]?[n]:[]);Object.assign(e,{phase:`spin`,startedAt:r,target:E(n),stopAt:r+1e3+t*450+(t===2&&this.suspense?1100:0)})}),P())return this.reels.forEach((e,t)=>{Object.assign(e,{pos:e.target,velocity:0,phase:`idle`}),this.draw(t)}),this.settle();this.ticker=window.setInterval(()=>this.reels.some(e=>e.phase!==`idle`)&&U.play(`reel`),90),this.previous=r,this.raf=requestAnimationFrame(this.frame)}settle(){let{tier:e,prizeId:t}=this;if((e===`none`?[]:pc(this.line,t)).forEach(e=>this.reelElements()[e]?.querySelectorAll(`li`)[vo(this.reels[e].pos,this.size)+this.size]?.classList.add(`is-win`)),this.readout=this.t(`slot.result.${e}`),e===`none`){this.state=`idle`;return}if(this.state=`won`,U.play(e===`small`?`chime`:`win`),e!==`small`){let e=this.querySelector(`.lk-slot-glass`)?.getBoundingClientRect();e&&I.burst(e.left+e.width/2,e.top+e.height/2,{count:40,type:`spark`,speed:700,life:.7,gravity:300,colors:Ts}),Ss(this.querySelector(`.lk-slot-cab`),.6)}let n={game:`slot`,tier:e,prizeId:t,award:bo(this.room.prize(t),e),detail:{key:`detail.slot.${e}`}};this.later(()=>this.room.finish(n),P()?200:e===`small`?1100:1700)}disconnectedCallback(){super.disconnectedCallback(),cancelAnimationFrame(this.raf),clearInterval(this.ticker)}render(){let e=h`
|
|
199
199
|
<div class="lk-readout"><span>${this.t(`slot.line`)}</span><b>${this.readout}</b></div>
|
|
200
|
-
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${this.state===`spinning`} @click=${this.pull}>${V(
|
|
201
|
-
`;return
|
|
200
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${this.state===`spinning`} @click=${this.pull}>${V(Ja)}${this.t(`slot.spin`)}</button>
|
|
201
|
+
`;return Js(this.room.t,{state:this.state,rules:this.t(`games.slot.rules`),multiplier:this.boost},h`<div><fl-slot-machine .strips=${this.strips} .state=${this.state} .tray=${e} @pull=${this.pull}></fl-slot-machine></div>`)}},L([b({attribute:!1})],Sc.prototype,`options`,void 0),L([x()],Sc.prototype,`state`,void 0),L([x()],Sc.prototype,`readout`,void 0),L([x()],Sc.prototype,`strips`,void 0),L([S(`fl-slot-machine`)],Sc.prototype,`machine`,void 0),Sc=L([y(`fl-slot`)],Sc)}));function wc(e,t){let n=t=>e.filter(e=>e?.tier===t),r=Object.fromEntries(Co.map(e=>[e,Eo(t[e],n(e).length)]));return e.map(e=>e&&{...e,award:r[e.tier][n(e.tier).indexOf(e)]})}function Tc(e,t=Math.random()){let[n,r]=kc[e];return n===1/0?1/0:n*(r/n)**(1-t)}var Ec,Dc,Oc,kc,Ac,jc,Mc,Nc,Pc,Fc=n((()=>{A(),k(),Ec=[{at:2,tier:`small`},{at:3,tier:`small`},{at:4,tier:`small`},{at:5,tier:`small`},{at:6.5,tier:`small`},{at:8,tier:`small`},{at:10,tier:`big`},{at:20,tier:`big`},{at:35,tier:`big`},{at:50,tier:`jackpot`}],Dc=e=>Math.exp(.12*e),Oc=e=>Math.log(e)/.12,kc={none:[1,2],small:[2,10],big:[10,50],jackpot:[1/0,1/0]},Ac=(e,t)=>t.filter(t=>t.at<=e).at(-1),jc=[null,{tier:`small`},{tier:`small`},{tier:`big`},{tier:`big`},{tier:`jackpot`}],Mc={none:[1,2],small:[3,4],big:[5,6],jackpot:[]},Nc=e=>e===`jackpot`?null:E(Mc[e]),Pc=(e,t)=>e?t[e-1]:null}));function Ic(e,t,n,r,i){e.save(),e.translate(t,n),e.rotate(r),e.scale(1.35,1.35),e.translate(-14,-6),e.lineWidth=1.2,e.strokeStyle=`#8a6420`,e.fillStyle=`#7d1c24`,e.beginPath(),e.moveTo(-24,-2),e.lineTo(-34,-15),e.lineTo(-27,-15),e.lineTo(-15,-5),e.closePath(),e.fill(),e.stroke();let a=e.createLinearGradient(0,-8,0,8);a.addColorStop(0,`#fff6dc`),a.addColorStop(1,`#d9c08a`),e.fillStyle=a,e.beginPath(),e.ellipse(0,0,26,7.5,0,0,Math.PI*2),e.fill(),e.stroke(),e.fillStyle=`#d4a94e`,e.fillRect(-18,-1.2,36,2.4),e.fillStyle=`#9e1b22`,e.beginPath(),e.moveTo(-6,2),e.lineTo(7,2),e.lineTo(-3,17),e.lineTo(-14,17),e.closePath(),e.fill(),e.stroke(),e.fillStyle=`#2a1208`,e.beginPath(),e.ellipse(9,-4,6,3,-.2,0,Math.PI*2),e.fill(),e.fillStyle=`#d4a94e`,e.beginPath(),e.arc(26,0,3,0,Math.PI*2),e.fill(),e.fillStyle=`rgb(246 226 166 / 0.85)`,e.beginPath(),e.ellipse(28.5,0,2,13*Math.abs(Math.sin(i/30)),0,0,Math.PI*2),e.fill(),e.restore()}function Lc(e,t,n,r,i){e.save(),e.translate(t,n),e.rotate(r),e.translate(0,Math.sin(i/160)*1.5-8),e.scale(1.25,1.25),e.translate(-30,0),e.lineCap=`round`;for(let t of Bc)e.shadowColor=`#ff3b3b`,e.shadowBlur=t.glow?10+Math.sin(i/200)*4:0,t.fill&&(e.fillStyle=t.fill,e.fill(t.path)),t.stroke&&(e.strokeStyle=t.stroke,e.lineWidth=t.width??1,e.stroke(t.path));e.restore()}var Rc,zc,Bc,Vc,Hc=n((()=>{v(),C(),w(),A(),Fc(),ts(),N(),Zs(),B(),Es(),H(),F(),W(),R(),Rc=720,zc=360,Bc=es.map(e=>({...e,path:new Path2D(e.d)})),Vc=class extends z{constructor(...e){super(...e),this.options={},this.phase=`ready`,this.multiplier=1,this.cashed=null,this.boost=M(`slot`),this.christmas=Zo()===`christmas`,this.tier=`none`,this.crash=1/0,this.start=0,this.goneAt=0,this.raf=0,this.won=null,this.frame=e=>{if(this.phase===`flying`){let t=Dc((e-this.start)/1e3),n=Math.min(this.crash,50);if(t>=n){this.multiplier=n,this.crash>50&&!this.cashed&&this.cashOut(),this.phase=`gone`,this.goneAt=e;let t=this.won;t?this.later(()=>this.room.finish(t),P()?300:1600):U.play(`stop`,.6)}else this.multiplier=t}this.draw(e),this.raf=requestAnimationFrame(this.frame)}}get steps(){return wc(Ec,this.room.board)}get reached(){return Ac(this.multiplier,this.steps)}label(e){return this.room.award(e.tier,e.award)}takeOff(){this.phase===`flying`||this.cashed||(this.tier=ps(`slot`,this.boost),this.crash=Tc(this.tier),this.multiplier=1,this.phase=`flying`,this.start=performance.now(),U.play(`whoosh`,.8))}cashOut(){let e=this.reached;if(this.phase!==`flying`||this.cashed||!e)return;this.cashed={at:this.multiplier,step:e},U.play(e.tier===`jackpot`?`jackpot`:`win`);let t=this.canvas?.getBoundingClientRect();t&&!P()&&I.burst(t.left+t.width/2,t.top+t.height/2,{count:46,type:`spark`,speed:640,life:.8,gravity:300,colors:Ts});let n=this.room.prize(ms(`slot`,xo(this.room.prizes,e.tier,e.award).map(({id:e})=>e)));this.won={game:`slot`,tier:e.tier,prizeId:n.id,award:e.award,detail:{key:`detail.slot.takeoff`,params:{m:this.multiplier.toFixed(2)}}}}draw(e){let t=this.canvas,n=t?.getContext(`2d`);if(!t||!n)return;let r=Math.min(2,devicePixelRatio);t.width!==Rc*r&&Object.assign(t,{width:Rc*r,height:zc*r}),n.setTransform(r,0,0,r,0,0);let i=n.createRadialGradient(0,zc,40,0,zc,Rc);i.addColorStop(0,`#3a1a0b`),i.addColorStop(1,`#120804`),n.fillStyle=i,n.fillRect(0,0,Rc,zc),n.save(),n.translate(0,zc),n.rotate(e/24e3%(Math.PI*2)),n.fillStyle=`rgb(226 189 99 / 0.05)`;for(let e=0;e<24;e++)n.beginPath(),n.moveTo(0,0),n.arc(0,0,Rc*1.6,e*Math.PI/12,e*Math.PI/12+Math.PI/24),n.fill();n.restore();let a=Oc(this.multiplier),o=Math.max(8,a*1.18),s=Math.max(1.6,(this.multiplier-1)*1.22),c=e=>({x:34+e/o*652,y:326-(Dc(e)-1)/s*292});n.strokeStyle=`rgb(226 189 99 / 0.22)`,n.lineWidth=1,n.beginPath(),n.moveTo(34,326),n.lineTo(Rc-17,326),n.moveTo(34,326),n.lineTo(34,17),n.stroke();let l=this.christmas?Lc:Ic;if(this.phase===`ready`)return l(n,44,318,-.08,e);let u=Array.from({length:61},(e,t)=>c(a*t/60)),d=u.at(-1),f=n.createLinearGradient(0,d.y,0,326);f.addColorStop(0,`rgb(246 196 83 / 0.28)`),f.addColorStop(1,`rgb(246 196 83 / 0.02)`),n.beginPath(),n.moveTo(34,326),u.forEach(({x:e,y:t})=>n.lineTo(e,t)),n.lineTo(d.x,326),n.closePath(),n.fillStyle=f,n.fill(),n.save(),n.shadowColor=`#ffcf5a`,n.shadowBlur=14;let p=n.createLinearGradient(34,326,d.x,d.y);p.addColorStop(0,`rgb(185 121 28 / 0.4)`),p.addColorStop(.7,`#f6c453`),p.addColorStop(1,`#fff6d2`),n.beginPath(),u.forEach(({x:e,y:t},r)=>r?n.lineTo(e,t):n.moveTo(e,t)),n.strokeStyle=p,n.lineWidth=5,n.lineJoin=`round`,n.lineCap=`round`,n.stroke(),n.restore(),n.fillStyle=`#fffbe8`,u.slice(-30).forEach(({x:t,y:r},i)=>{(i*7+Math.floor(e/70))%5||(n.globalAlpha=i/30*.9,n.beginPath(),n.arc(t+Math.sin(e/90+i)*3,r+Math.cos(e/110+i)*3,1.4,0,Math.PI*2),n.fill())}),n.globalAlpha=1;let m=u.at(-4),ee=Math.atan2(d.y-m.y,d.x-m.x),te=this.phase===`gone`?Math.min(1,(e-this.goneAt)/900):0;l(n,d.x+te*Rc*.6,d.y-te*zc*.9,ee-te*.4,e)}again(){this.phase=`ready`,this.takeOff()}firstUpdated(){this.raf=requestAnimationFrame(this.frame)}disconnectedCallback(){super.disconnectedCallback(),cancelAnimationFrame(this.raf)}render(){let{phase:e,multiplier:t,cashed:n,reached:r}=this,i=e===`gone`&&!n,a=n?`won`:e===`flying`?`spinning`:`idle`;return Js(this.room.t,{state:a,rules:this.t(`slot.takeoff.rules`,{n:this.boost}),multiplier:this.boost},h`
|
|
202
202
|
<div class="lk-takeoff">
|
|
203
203
|
<div class="lk-takeoff-screen ${i?`is-gone`:``} ${n?`is-cashed`:``}">
|
|
204
204
|
<canvas aria-label=${this.t(`slot.names.takeoff`)}></canvas>
|
|
@@ -216,19 +216,19 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
216
216
|
</ol>
|
|
217
217
|
<div class="lk-controls">
|
|
218
218
|
${e===`flying`&&!n?h`<button class="lk-btn lk-btn--primary lk-btn--lg lk-takeoff-cash" ?disabled=${!r} @click=${()=>this.cashOut()}>
|
|
219
|
-
${V(
|
|
219
|
+
${V(Sa)}${r?this.t(`slot.takeoff.cashOut`,{prize:this.label(r)}):this.t(`slot.takeoff.cashFrom`,{m:Ec[0].at})}
|
|
220
220
|
</button>`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${!!n||e===`flying`} @click=${()=>e===`ready`?this.takeOff():this.again()}>
|
|
221
|
-
${V(
|
|
221
|
+
${V(Ha)}${this.t(e===`ready`?`slot.takeoff.start`:`slot.takeoff.again`)}
|
|
222
222
|
</button>`}
|
|
223
223
|
<div class="lk-hint">${this.t(`slot.takeoff.hint`)}</div>
|
|
224
224
|
</div>
|
|
225
225
|
</div>
|
|
226
|
-
`)}},L([b({attribute:!1})],
|
|
226
|
+
`)}},L([b({attribute:!1})],Vc.prototype,`options`,void 0),L([x()],Vc.prototype,`phase`,void 0),L([x()],Vc.prototype,`multiplier`,void 0),L([x()],Vc.prototype,`cashed`,void 0),L([S(`canvas`)],Vc.prototype,`canvas`,void 0),Vc=L([y(`fl-takeoff`)],Vc)})),Uc,Wc,Gc,Kc,qc,Jc,Yc,Xc,Zc,Qc,$c,el=n((()=>{v(),C(),w(),A(),Fc(),k(),Po(),N(),Zs(),B(),Es(),H(),F(),W(),R(),Uc=jc.length,Wc=O(0,5),Gc={width:430,height:590,centre:247,kickOff:548,lanes:[122,205,289,372],lines:[492,432,372,312,252,192]},Kc=O(0,9),qc=`--shirt: #f6e2a6; --trim: #8a6420; --shorts: #7d1c24`,Jc=`--shirt: #1d3561; --trim: #d4a94e; --shorts: #f6e2a6`,Yc=`--shirt: #c99a3e; --trim: #2a1208; --shorts: #1a1a1a`,Xc=O(0,4).flatMap(e=>O(0,21).map(t=>({x:12+t*18+e%2*9,y:30+e*22,color:E([`#9e1b22`,`#1d3561`,`#d4a94e`,`#f6e2a6`,`#1c6136`,`#5b2a6e`]),delay:`${T(0,.5).toFixed(2)}s`}))),Zc=e=>g`<use href="#lk-fb-player" x="-14" y="-34" width="28" height="37" style=${e} />`,Qc=(e,t)=>({x:Gc.lanes[t],y:Gc.lines[e-1]}),$c=class extends z{constructor(...e){super(...e),this.options={},this.phase=`ready`,this.cleared=0,this.runner={line:0,lane:0},this.chosen=[],this.defenders=[],this.aim=null,this.keeper=null,this.boost=M(`slot`),this.tackle=null}get steps(){return wc(jc,this.room.board)}get collected(){return Pc(this.cleared,this.steps)}get shooting(){return this.phase===`shot`||this.phase===`shooting`||this.phase===`won`&&this.aim!==null}open(e){return(this.phase===`running`||this.phase===`ready`)&&e===this.cleared+1}label(e){return e?this.room.award(e.tier,e.award):`—`}kickOff(){let e=ps(`slot`,this.boost);this.tackle=j(`breakaway.tackle`,{tier:e},()=>Nc(e)),this.phase=`running`}step(e,t){this.phase===`ready`&&this.kickOff(),this.phase===`running`&&e===this.cleared+1&&(this.phase=`moving`,this.runner={line:e,lane:t},U.play(`bounce`,1.1),this.later(()=>e===this.tackle?this.tackled(e,t):this.advance(e,t),P()?0:480))}advance(e,t){this.chosen=[...this.chosen,t],this.cleared=e,U.play(`tick`,1+e*.08),this.phase=e===Uc?`shot`:`running`}tackled(e,t){this.defenders=O(1,Uc).map(n=>n===e?t:E(O(0,3).filter(e=>e!==this.chosen[n-1]))),this.phase=`tackled`,U.play(`stop`,.7)}win(e){let t=this.collected;this.phase=`won`,U.play(t.tier===`jackpot`?`jackpot`:`win`);let n=this.field?.getBoundingClientRect();n&&!P()&&I.burst(n.left+n.width/2,n.top+n.height/3,{count:60,type:`spark`,speed:680,life:.9,gravity:300,colors:Ts});let r=this.room.prize(ms(`slot`,xo(this.room.prizes,t.tier,t.award).map(({id:e})=>e))),i={game:`slot`,tier:t.tier,prizeId:r.id,award:t.award,detail:e};this.later(()=>this.room.finish(i),P()?300:2600)}cashOut(){this.phase===`running`&&this.collected&&this.win({key:`detail.slot.breakaway`,params:{n:this.cleared}})}shoot(e){this.phase===`shot`&&(this.phase=`shooting`,this.aim=e,this.keeper=E(Wc.filter(t=>t!==e)),U.play(`whoosh`,1.2),this.later(()=>this.win({key:`detail.slot.goal`}),P()?0:700))}again(){this.phase=`ready`,this.runner={line:0,lane:0},this.cleared=0,this.chosen=[],this.defenders=[],this.aim=null,this.keeper=null}get hint(){return this.shooting?this.t(`slot.breakaway.shoot`):this.phase===`tackled`?this.t(`slot.breakaway.tackled`):this.t(`slot.breakaway.pick`,{n:Math.min(Uc,this.cleared+1)})}onSquareKey(e,t,n){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.open(t)&&this.step(t,n))}shot(){let{phase:e,aim:t,keeper:n}=this;return h`
|
|
227
227
|
<div class="lk-shot ${e===`won`?`is-celebrating`:``}">
|
|
228
228
|
<svg class="lk-shot-stands" viewBox="0 0 400 120" preserveAspectRatio="xMidYMax slice" aria-hidden="true">
|
|
229
229
|
<rect width="400" height="120" fill="#1e0d06" />
|
|
230
230
|
${O(1,4).map(e=>g`<rect x="0" y=${18+(e-1)*22} width="400" height="22" fill=${e%2?`#2e150a`:`#3a1a0b`} />`)}
|
|
231
|
-
${
|
|
231
|
+
${Xc.map(e=>g`
|
|
232
232
|
<g class="lk-fan" style="--d: ${e.delay}">
|
|
233
233
|
<rect x=${e.x-5} y=${e.y+2} width="10" height="11" rx="3" fill=${e.color} />
|
|
234
234
|
<circle cx=${e.x} cy=${e.y-2} r="4" fill="#f2c9a0" />
|
|
@@ -237,17 +237,17 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
237
237
|
`)}
|
|
238
238
|
</svg>
|
|
239
239
|
<div class="lk-shot-goal">
|
|
240
|
-
${
|
|
241
|
-
<svg class="lk-shot-keeper ${n===null?``:`is-diving-${n}`}" viewBox="-14 -34 28 37" aria-hidden="true">${
|
|
240
|
+
${Wc.map(t=>h`<button class="lk-shot-zone" ?disabled=${e!==`shot`} aria-label=${this.t(`slot.breakaway.zone`,{n:t+1})} @click=${()=>this.shoot(t)}></button>`)}
|
|
241
|
+
<svg class="lk-shot-keeper ${n===null?``:`is-diving-${n}`}" viewBox="-14 -34 28 37" aria-hidden="true">${Zc(Yc)}</svg>
|
|
242
242
|
<svg class="lk-shot-ball ${t===null?``:`is-at-${t}`}" viewBox="-6 -6 12 12" aria-hidden="true"><use href="#lk-fb-ball" x="-6" y="-6" width="12" height="12" /></svg>
|
|
243
243
|
</div>
|
|
244
|
-
<svg class="lk-shot-striker" viewBox="-14 -34 28 37" aria-hidden="true">${
|
|
244
|
+
<svg class="lk-shot-striker" viewBox="-14 -34 28 37" aria-hidden="true">${Zc(qc)}</svg>
|
|
245
245
|
${e===`won`?h`<strong class="lk-shot-goal-call">${this.t(`slot.breakaway.goal`)}</strong>`:_}
|
|
246
246
|
</div>
|
|
247
|
-
`}render(){let{phase:e,cleared:t,chosen:n,collected:r,shooting:i}=this,a=this.steps,o=this.runner.line?
|
|
247
|
+
`}render(){let{phase:e,cleared:t,chosen:n,collected:r,shooting:i}=this,a=this.steps,o=this.runner.line?Qc(this.runner.line,this.runner.lane):{x:Gc.centre,y:Gc.kickOff},s=e===`won`?`won`:e===`ready`||e===`tackled`?`idle`:`spinning`;return Js(this.room.t,{state:s,rules:this.t(`slot.breakaway.rules`,{n:this.boost}),multiplier:this.boost},h`
|
|
248
248
|
<div class="lk-breakaway">
|
|
249
249
|
<div class="lk-field-wrap">
|
|
250
|
-
<svg class="lk-field ${e===`tackled`?`is-tackled`:``}" viewBox="0 0 ${
|
|
250
|
+
<svg class="lk-field ${e===`tackled`?`is-tackled`:``}" viewBox="0 0 ${Gc.width} ${Gc.height}" role="group" aria-label=${this.t(`slot.names.breakaway`)}>
|
|
251
251
|
<defs>
|
|
252
252
|
<symbol id="lk-fb-player" viewBox="-14 -34 28 37">
|
|
253
253
|
<ellipse cy="1" rx="9" ry="2.5" fill="rgb(0 0 0 / .35)" />
|
|
@@ -266,31 +266,31 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
266
266
|
</defs>
|
|
267
267
|
|
|
268
268
|
<rect x="70" y="6" width="354" height="578" rx="12" fill="#1a5c36" />
|
|
269
|
-
${
|
|
269
|
+
${Kc.map(e=>g`<rect x="70" y=${6+e*64.2} width="354" height="32.1" fill="#fff" fill-opacity=".035" />`)}
|
|
270
270
|
<g class="lk-field-lines">
|
|
271
271
|
<rect x="80" y="16" width="334" height="558" rx="2" />
|
|
272
|
-
<line x1="80" y1=${
|
|
273
|
-
<circle cx=${
|
|
272
|
+
<line x1="80" y1=${Gc.kickOff} x2="414" y2=${Gc.kickOff} />
|
|
273
|
+
<circle cx=${Gc.centre} cy=${Gc.kickOff} r="42" />
|
|
274
274
|
<rect x="147" y="16" width="200" height="140" />
|
|
275
275
|
<rect x="197" y="16" width="100" height="48" />
|
|
276
276
|
<path d="M210 156a46 46 0 0 0 74 0" />
|
|
277
|
-
<circle cx=${
|
|
278
|
-
<circle cx=${
|
|
277
|
+
<circle cx=${Gc.centre} cy="116" r="2.5" class="lk-field-spot" />
|
|
278
|
+
<circle cx=${Gc.centre} cy=${Gc.kickOff} r="2.5" class="lk-field-spot" />
|
|
279
279
|
</g>
|
|
280
280
|
<rect x="212" y="1" width="70" height="15" fill="url(#lk-fb-net)" stroke="#f1d892" stroke-width="3" />
|
|
281
|
-
<g transform="translate(${
|
|
281
|
+
<g transform="translate(${Gc.centre} 54)"><g class="lk-field-keeper">${Zc(Yc)}</g></g>
|
|
282
282
|
|
|
283
|
-
${O(1,
|
|
284
|
-
<g class="lk-field-prize ${n===t&&e!==`tackled`?`is-collected`:``} ${n===
|
|
283
|
+
${O(1,Uc).map(n=>g`
|
|
284
|
+
<g class="lk-field-prize ${n===t&&e!==`tackled`?`is-collected`:``} ${n===Uc?`is-jackpot`:``}" transform="translate(35 ${Gc.lines[n-1]})">
|
|
285
285
|
<rect x="-31" y="-12" width="62" height="24" rx="12" />
|
|
286
286
|
<text text-anchor="middle" dominant-baseline="central">${this.label(a[n-1])}</text>
|
|
287
287
|
</g>
|
|
288
288
|
`)}
|
|
289
289
|
|
|
290
|
-
${O(1,
|
|
290
|
+
${O(1,Uc).map(e=>O(0,3).map(t=>{let r=this.open(e);return g`<rect
|
|
291
291
|
class="lk-field-square ${r?`is-open`:``} ${n[e-1]===t?`is-path`:``}"
|
|
292
|
-
x=${
|
|
293
|
-
y=${
|
|
292
|
+
x=${Qc(e,t).x-35}
|
|
293
|
+
y=${Qc(e,t).y-23}
|
|
294
294
|
width="70"
|
|
295
295
|
height="46"
|
|
296
296
|
rx="9"
|
|
@@ -301,58 +301,58 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
301
301
|
@keydown=${n=>this.onSquareKey(n,e,t)}
|
|
302
302
|
/>`}))}
|
|
303
303
|
|
|
304
|
-
${this.defenders.map((e,t)=>e===null?_:g`<g class="lk-field-defender" transform="translate(${
|
|
304
|
+
${this.defenders.map((e,t)=>e===null?_:g`<g class="lk-field-defender" transform="translate(${Qc(t+1,e).x+(t+1===this.tackle?15:0)} ${Qc(t+1,e).y+14})">${Zc(Jc)}</g>`)}
|
|
305
305
|
|
|
306
306
|
<g class="lk-field-striker" style="transform: translate(${o.x}px, ${o.y+14}px)">
|
|
307
|
-
${
|
|
307
|
+
${Zc(qc)}
|
|
308
308
|
<use class="lk-field-ball" href="#lk-fb-ball" x="2" y="-9" width="11" height="11" />
|
|
309
309
|
</g>
|
|
310
310
|
</svg>
|
|
311
311
|
${i?this.shot():_}
|
|
312
312
|
</div>
|
|
313
313
|
<div class="lk-controls">
|
|
314
|
-
${e===`tackled`?h`<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${()=>this.again()}>${V(
|
|
315
|
-
${V(
|
|
314
|
+
${e===`tackled`?h`<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${()=>this.again()}>${V(Ka)}${this.t(`slot.breakaway.again`)}</button>`:h`<button class="lk-btn lk-btn--primary lk-btn--lg ${i?`is-hidden`:``}" ?disabled=${e!==`running`||!r} @click=${()=>this.cashOut()}>
|
|
315
|
+
${V(Sa)}${r?this.t(`slot.breakaway.cashOut`,{prize:this.label(r)}):this.t(`slot.breakaway.cashFrom`,{n:2})}
|
|
316
316
|
</button>`}
|
|
317
317
|
<div class="lk-hint">${this.hint}</div>
|
|
318
318
|
</div>
|
|
319
319
|
</div>
|
|
320
|
-
`)}},L([b({attribute:!1})]
|
|
321
|
-
<svg class=${
|
|
320
|
+
`)}},L([b({attribute:!1})],$c.prototype,`options`,void 0),L([x()],$c.prototype,`phase`,void 0),L([x()],$c.prototype,`cleared`,void 0),L([x()],$c.prototype,`runner`,void 0),L([x()],$c.prototype,`chosen`,void 0),L([x()],$c.prototype,`defenders`,void 0),L([x()],$c.prototype,`aim`,void 0),L([x()],$c.prototype,`keeper`,void 0),L([S(`.lk-field`)],$c.prototype,`field`,void 0),$c=L([y(`fl-breakaway`)],$c)})),tl,nl=n((()=>{Gr(),pi(),tl=di(class extends fi{constructor(e){if(super(e),e.type!==ui.ATTRIBUTE||e.name!==`class`||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return` `+Object.keys(e).filter(t=>e[t]).join(` `)+` `}update(e,[t]){if(this.st===void 0){this.st=new Set,e.strings!==void 0&&(this.nt=new Set(e.strings.join(` `).split(/\s/).filter(e=>e!==``)));for(let e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}let n=e.element.classList;for(let e of this.st)e in t||(n.remove(e),this.st.delete(e));for(let e in t){let r=!!t[e];r===this.st.has(e)||this.nt?.has(e)||(r?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return Ar}})})),rl=n((()=>{nl()}));function il(e,t){return E(O(0,36).flatMap(n=>Array(e.includes(n)?t:1).fill(n)))}function al(e,t){let n=null;for(let r of e){let e=hl(r.spot);if(!e.numbers.includes(t))continue;let i=ll[e.kind],a=ls.indexOf(i)-(n?ls.indexOf(n.tier):0);(!n||a>0||a===0&&r.chips>n.bet.chips)&&(n={bet:r,tier:i})}return n}var ol,sl,cl,ll,ul,dl,fl,pl,ml,hl,gl,_l,vl,yl=n((()=>{k(),Po(),N(),ol=[0,32,15,19,4,21,2,25,17,34,6,27,13,36,11,30,8,23,10,5,24,16,33,1,20,14,31,9,22,18,29,7,28,12,35,3,26],sl=new Set([1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36]),cl=()=>D(O(0,36)).slice(0,3),ll={straight:`jackpot`,split:`big`,street:`big`,corner:`big`,line:`big`,column:`small`,dozen:`small`,chance:`small`},ul=(e,t)=>({id:`${e}:${t.join(`-`)}`,kind:e,numbers:t}),dl=(e,t,n)=>({id:`${e}:${t}`,kind:e,numbers:n,name:t}),fl=[...O(0,36).map(e=>ul(`straight`,[e])),...[1,2,3].map(e=>ul(`split`,[0,e])),...O(1,33).map(e=>ul(`split`,[e,e+3])),...O(1,35).filter(e=>e%3!=0).map(e=>ul(`split`,[e,e+1])),ul(`street`,[0,1,2]),ul(`street`,[0,2,3]),...O(0,11).map(e=>ul(`street`,O(3*e+1,3*e+3))),ul(`corner`,[0,1,2,3]),...O(1,32).filter(e=>e%3!=0).map(e=>ul(`corner`,[e,e+1,e+3,e+4])),...O(0,10).map(e=>ul(`line`,O(3*e+1,3*e+6))),...[1,2,3].map(e=>dl(`column`,String(e),O(1,36).filter(t=>(t-e)%3==0))),...[1,2,3].map(e=>dl(`dozen`,String(e),O(12*e-11,12*e))),dl(`chance`,`low`,O(1,18)),dl(`chance`,`even`,O(1,36).filter(e=>e%2==0)),dl(`chance`,`red`,O(1,36).filter(e=>sl.has(e))),dl(`chance`,`black`,O(1,36).filter(e=>!sl.has(e))),dl(`chance`,`odd`,O(1,36).filter(e=>e%2==1)),dl(`chance`,`high`,O(19,36))],pl={nassa:[`straight:19`,`straight:26`,`split:0-3`,`split:12-15`,`split:32-35`],orphans:[`straight:1`,`split:6-9`,`split:14-17`,`split:17-20`,`split:31-34`],tiers:[`split:5-8`,`split:10-11`,`split:13-16`,`split:23-24`,`split:27-30`,`split:33-36`]},ml=new Map(fl.map(e=>[e.id,e])),hl=e=>ml.get(e),gl=e=>[...new Set(pl[e].flatMap(e=>hl(e).numbers))],_l=e=>j(`roulette.storm`,{boost:e},cl),vl=(e,t,n)=>j(`roulette.number`,{bets:e,storm:t,boost:n},()=>n>1?il(t,n):_o(0,36))})),bl,xl,Sl=n((()=>{Gr(),pi(),wi(),bl=(e,t,n)=>{let r=new Map;for(let i=t;i<=n;i++)r.set(e[i],i);return r},xl=di(class extends fi{constructor(e){if(super(e),e.type!==ui.CHILD)throw Error(`repeat() can only be used in text expressions`)}dt(e,t,n){let r;n===void 0?n=t:t!==void 0&&(r=t);let i=[],a=[],o=0;for(let t of e)i[o]=r?r(t,o):o,a[o]=n(t,o),o++;return{values:a,keys:i}}render(e,t,n){return this.dt(e,t,n).values}update(e,[t,n,r]){let i=Si(e),{values:a,keys:o}=this.dt(t,n,r);if(!Array.isArray(i))return this.ut=o,a;let s=this.ut??=[],c=[],l,u,d=0,f=i.length-1,p=0,m=a.length-1;for(;d<=f&&p<=m;)if(i[d]===null)d++;else if(i[f]===null)f--;else if(s[d]===o[p])c[p]=yi(i[d],a[p]),d++,p++;else if(s[f]===o[m])c[m]=yi(i[f],a[m]),f--,m--;else if(s[d]===o[m])c[m]=yi(i[d],a[m]),vi(e,c[m+1],i[d]),d++,m--;else if(s[f]===o[p])c[p]=yi(i[f],a[p]),vi(e,i[d],i[f]),f--,p++;else if(l===void 0&&(l=bl(o,p,m),u=bl(s,d,f)),l.has(s[d])){if(l.has(s[f])){let t=u.get(o[p]),n=t===void 0?null:i[t];if(n===null){let t=vi(e,i[d]);yi(t,a[p]),c[p]=t}else c[p]=yi(n,a[p]),vi(e,i[d],n),i[t]=null;p++}else Ci(i[f]),f--}else Ci(i[d]),d++;for(;p<=m;){let t=vi(e,c[m+1]);yi(t,a[p]),c[p++]=t}for(;d<=f;){let e=i[d++];e!==null&&Ci(e)}return this.ut=o,xi(e,c),Ar}})})),Cl=n((()=>{Sl()}));function wl(e){let[t]=e.numbers;if(e.kind===`column`){let t={x:752,y:(3-Number(e.name))*Tl,w:K,h:Tl};return{spot:e,hit:t,chip:{x:t.x+K/2,y:t.y+Tl/2}}}if(e.kind===`dozen`){let t={x:q+(Number(e.name)-1)*4*K,y:174,w:232,h:El};return{spot:e,hit:t,chip:{x:t.x+116,y:t.y+El/2}}}if(e.kind===`chance`){let t={x:q+Ol.indexOf(e.name)*2*K,y:218,w:116,h:El};return{spot:e,hit:t,chip:{x:t.x+K,y:t.y+El/2}}}if(e.kind===`straight`)return t===0?{spot:e,hit:{x:0,y:0,w:q,h:174},chip:{x:32,y:1.5*Tl}}:{spot:e,hit:kl(t),chip:Al(t)};let n=t===0,r=e.numbers.filter(e=>e!==0),i=e.kind===`line`||e.kind===`street`&&!n||e.kind===`corner`&&n,a=n?q:Ml(r.map(e=>Al(e).x)),o=i?174:Ml(r.map(e=>Al(e).y));return e.kind===`split`?{spot:e,hit:n||r[1]-r[0]===3?jl(a,o,16,38):jl(a,o,38,16),chip:{x:a,y:o}}:e.kind===`street`&&!n?{spot:e,hit:jl(a,o,38,16),chip:{x:a,y:o}}:{spot:e,hit:jl(a,o,18,18),chip:{x:a,y:o}}}var K,Tl,q,El,Dl,Ol,kl,Al,jl,Ml,Nl,Pl,Fl,Il,Ll,Rl,zl=n((()=>{v(),C(),rl(),Cl(),yl(),B(),R(),K=58,Tl=58,q=56,El=44,Dl=696,Ol=[`low`,`even`,`red`,`black`,`odd`,`high`],kl=e=>{let t=Math.floor((e-1)/3);return{x:q+t*K,y:(2-(e-1)%3)*Tl,w:K,h:Tl}},Al=e=>{let t=kl(e);return{x:t.x+K/2,y:t.y+Tl/2}},jl=(e,t,n,r)=>({x:e-n/2,y:t-r/2,w:n,h:r}),Ml=e=>e.reduce((e,t)=>e+t,0)/e.length,Nl=`M${q} 0H22Q14 0 10 8L2 ${1.5*Tl-6}Q0 ${1.5*Tl} 2 93L10 166Q14 174 22 174H${q}Z`,Pl=[`straight`,`column`,`dozen`,`chance`,`split`,`street`,`line`,`corner`],Fl=fl.map(wl).sort((e,t)=>Pl.indexOf(e.spot.kind)-Pl.indexOf(t.spot.kind)),Il=new Map(Fl.map(e=>[e.spot.id,e])),Ll=Array.from({length:36},(e,t)=>t+1).map(e=>({number:e,rect:kl(e),red:sl.has(e)})),Rl=class extends z{constructor(...e){super(...e),this.bets=[],this.locked=!1,this.result=null,this.winning=null,this.struck=[],this.strikeLabel=``,this.hovered=null,this.labels=new Map}willUpdate(e){e.has(`locked`)&&this.locked&&(this.hovered=null)}label(e){return this.labelsOf!==this.room.t&&(this.labelsOf=this.room.t,this.labels=new Map(Fl.map(({spot:e})=>[e.id,e.name?this.t(`roulette.spot.${e.kind}.${e.name}`):this.t(`roulette.kind.${e.kind}`,{numbers:e.numbers.join(`, `)})]))),this.labels.get(e.id)}choose(e){this.locked||this.dispatchEvent(new CustomEvent(`place`,{detail:e}))}stacks(){let e=new Map;return this.bets.forEach(t=>e.set(t.spot,[...e.get(t.spot)??[],t])),[...e].flatMap(([e,t])=>t.map((n,r)=>{let{chip:i}=Il.get(e),a=(r-(t.length-1)/2)*12,o=this.result!==null&&hl(e).numbers.includes(this.result);return{key:`${e}|${n.prizeId}`,bet:n,x:i.x+a,y:i.y+a/2,winning:this.winning===e,lost:this.result!==null&&!o}}))}render(){let{room:e,result:t}=this,n=new Set(this.hovered?hl(this.hovered).numbers:[]),r=t===null?null:t===0?{x:32,y:1.5*Tl-26}:{x:Al(t).x+15,y:Al(t).y-15};return h`
|
|
321
|
+
<svg class=${tl({"lk-rt":!0,"is-locked":this.locked})} viewBox="-8 -8 ${826} ${278}" role="group" aria-label=${this.t(`roulette.table`)}>
|
|
322
322
|
<defs>
|
|
323
323
|
<linearGradient id="lk-rt-gold" x1="0" y1="0" x2="1" y2="1"><stop offset="0" stop-color="#fff3c4" /><stop offset=".45" stop-color="#d4a94e" /><stop offset="1" stop-color="#8a6420" /></linearGradient>
|
|
324
324
|
<filter id="lk-rt-shadow" x="-50%" y="-50%" width="200%" height="200%"><feDropShadow dx="0" dy="2" stdDeviation="1.6" flood-color="#000" flood-opacity=".6" /></filter>
|
|
325
325
|
</defs>
|
|
326
326
|
|
|
327
327
|
<g class="lk-rt-print">
|
|
328
|
-
<path d=${
|
|
329
|
-
<text x=${32} y=${1.5*
|
|
330
|
-
${
|
|
328
|
+
<path d=${Nl} fill="#156b3c" data-number="0" />
|
|
329
|
+
<text x=${32} y=${1.5*Tl} class="lk-rt-num">0</text>
|
|
330
|
+
${Ll.map(e=>g`
|
|
331
331
|
<rect x=${e.rect.x+4} y=${e.rect.y+4} width=${50} height=${50} rx="6" fill=${e.red?`#9e1b22`:`#17120e`} data-number=${e.number} />
|
|
332
|
-
<text x=${e.rect.x+K/2} y=${e.rect.y+
|
|
332
|
+
<text x=${e.rect.x+K/2} y=${e.rect.y+Tl/2} class="lk-rt-num">${e.number}</text>
|
|
333
333
|
`)}
|
|
334
|
-
${[1,2,3].map(e=>g`<text x=${781} y=${(3-e)*
|
|
334
|
+
${[1,2,3].map(e=>g`<text x=${781} y=${(3-e)*Tl+Tl/2} class="lk-rt-word">${this.t(`roulette.board.column`)}</text>`)}
|
|
335
335
|
${[1,2,3].map(e=>g`<text x=${q+(e-1)*4*K+116} y=${196} class="lk-rt-word">${this.t(`roulette.board.dozen${e}`)}</text>`)}
|
|
336
|
-
${
|
|
336
|
+
${Ol.map((e,t)=>e===`red`||e===`black`?g`<path d="M${q+t*2*K+K} ${227}l26 ${El/2-9}l-26 ${El/2-9}l-26 ${-13}z" fill=${e===`red`?`#9e1b22`:`#17120e`} stroke="url(#lk-rt-gold)" stroke-width="1.5" />`:g`<text x=${q+t*2*K+K} y=${240} class="lk-rt-word">${this.t(`roulette.board.${e}`)}</text>`)}
|
|
337
337
|
<g fill="none" stroke="url(#lk-rt-gold)" stroke-width="1.6">
|
|
338
|
-
<path d=${
|
|
338
|
+
<path d=${Nl} />
|
|
339
339
|
<rect x=${q} y="0" width=${754} height=${174} />
|
|
340
|
-
<path d=${Array.from({length:12},(e,t)=>`M${q+(t+1)*K} 0V174`).join(``)+`M${q} ${
|
|
341
|
-
<rect x=${q} y=${174} width=${
|
|
340
|
+
<path d=${Array.from({length:12},(e,t)=>`M${q+(t+1)*K} 0V174`).join(``)+`M${q} ${Tl}H810M${q} 116H810`} />
|
|
341
|
+
<rect x=${q} y=${174} width=${Dl} height=${88} />
|
|
342
342
|
<path d=${`M${q} 218H752`+[1,2].map(e=>`M${q+e*4*K} 174V218`).join(``)+[1,2,3,4,5].map(e=>`M${q+e*2*K} 218V262`).join(``)} />
|
|
343
343
|
</g>
|
|
344
344
|
</g>
|
|
345
345
|
|
|
346
346
|
<g class="lk-rt-lit" aria-hidden="true">
|
|
347
|
-
${n.has(0)?g`<path d=${
|
|
348
|
-
${
|
|
347
|
+
${n.has(0)?g`<path d=${Nl} />`:_}
|
|
348
|
+
${Ll.filter(e=>n.has(e.number)).map(e=>g`<rect x=${e.rect.x+4} y=${e.rect.y+4} width=${50} height=${50} rx="6" />`)}
|
|
349
349
|
</g>
|
|
350
350
|
|
|
351
351
|
<g class="lk-rt-struck" aria-hidden="true">
|
|
352
|
-
${
|
|
352
|
+
${xl(this.struck,e=>e,e=>g`
|
|
353
353
|
<g class="lk-rt-bolt">
|
|
354
|
-
${e===0?g`<path d=${
|
|
355
|
-
<g transform=${e===0?`translate(32 24)`:`translate(${
|
|
354
|
+
${e===0?g`<path d=${Nl} />`:g`<rect x=${kl(e).x+3} y=${kl(e).y+3} width=${52} height=${52} rx="7" />`}
|
|
355
|
+
<g transform=${e===0?`translate(32 24)`:`translate(${kl(e).x+K/2} ${kl(e).y+2})`}>
|
|
356
356
|
<rect x="-17" y="-9" width="34" height="18" rx="9" fill="url(#lk-rt-gold)" />
|
|
357
357
|
<text>${this.strikeLabel}</text>
|
|
358
358
|
</g>
|
|
@@ -361,9 +361,9 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
361
361
|
</g>
|
|
362
362
|
|
|
363
363
|
<g class="lk-rt-chips" aria-hidden="true">
|
|
364
|
-
${
|
|
365
|
-
<g class=${
|
|
366
|
-
${
|
|
364
|
+
${xl(this.stacks(),e=>e.key,t=>g`
|
|
365
|
+
<g class=${tl({"lk-rt-stack":!0,"is-winning":t.winning,"is-lost":t.lost})} transform="translate(${t.x} ${t.y})">
|
|
366
|
+
${xl(Array.from({length:t.bet.chips},(e,t)=>t+1),e=>e,n=>g`
|
|
367
367
|
<g class="lk-rt-chip" transform="translate(0 ${-(n-1)*3.5})" filter="url(#lk-rt-shadow)">
|
|
368
368
|
<circle r="13" fill=${e.color(t.bet.prizeId)} />
|
|
369
369
|
<circle r="11.5" fill="none" stroke="#fbf3df" stroke-width="3" stroke-dasharray="4.5 4.53" />
|
|
@@ -382,7 +382,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
382
382
|
</g>`:_}
|
|
383
383
|
|
|
384
384
|
<g class="lk-rt-hits">
|
|
385
|
-
${
|
|
385
|
+
${Fl.map(e=>g`
|
|
386
386
|
<rect
|
|
387
387
|
x=${e.hit.x}
|
|
388
388
|
y=${e.hit.y}
|
|
@@ -404,19 +404,19 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
404
404
|
`)}
|
|
405
405
|
</g>
|
|
406
406
|
</svg>
|
|
407
|
-
`}},L([b({attribute:!1})],
|
|
408
|
-
<svg class=${
|
|
409
|
-
<path d=${
|
|
410
|
-
<path d=${
|
|
411
|
-
${
|
|
412
|
-
<g class=${
|
|
407
|
+
`}},L([b({attribute:!1})],Rl.prototype,`bets`,void 0),L([b({type:Boolean})],Rl.prototype,`locked`,void 0),L([b({attribute:!1})],Rl.prototype,`result`,void 0),L([b({attribute:!1})],Rl.prototype,`winning`,void 0),L([b({attribute:!1})],Rl.prototype,`struck`,void 0),L([b()],Rl.prototype,`strikeLabel`,void 0),L([x()],Rl.prototype,`hovered`,void 0),Rl=L([y(`fl-roulette-table`)],Rl)}));function Bl(e,t){let n=(e%ql+ql)%ql,r=Ul+t;return n<Yl?Xl(409,n/Ul,r):n<Yl+Hl?[409-(n-Yl),Kl+r]:n<Yl+Hl+Math.PI*Ul?Xl(Gl-Hl/2,Math.PI/2+(n-Yl-Hl)/Ul,r):n<Yl+2*Hl+Math.PI*Ul?[Gl-Hl/2+(n-Yl-Hl-Math.PI*Ul),Kl-r]:Xl(409,3*Math.PI/2+(n-Yl-2*Hl-Math.PI*Ul)/Ul,r)}function Vl(e,t,n){let r=Math.max(2,Math.ceil((t-e)/6));return Array.from({length:r+1},(i,a)=>Bl(e+(t-e)*a/r,n))}var Hl,Ul,Wl,Gl,Kl,ql,Jl,Yl,Xl,Zl,Ql,$l,eu,tu,nu,ru,iu,au,ou=n((()=>{v(),C(),rl(),Cl(),yl(),B(),R(),Hl=330,Ul=62,Wl=34,Gl=244,Kl=79,ql=2*Hl+2*Math.PI*Ul,Jl=ql/ol.length,Yl=Math.PI*Ul/2,Xl=(e,t,n)=>[e+n*Math.cos(t),Kl+n*Math.sin(t)],Zl=e=>`M${e.map(([e,t])=>`${e.toFixed(1)} ${t.toFixed(1)}`).join(`L`)}Z`,Ql=e=>(e+.5)*Jl,$l=ol.map((e,t)=>{let n=Ql(t-1),r=Ql(t),[i,a]=Bl(t*Jl,0);return{number:e,d:Zl([...Vl(n,r,Wl/2),...Vl(n,r,-17).reverse()]),x:i,y:a,fill:e===0?`#156b3c`:sl.has(e)?`#9e1b22`:`#17120e`}}),eu=e=>ol.indexOf(e),tu={nassa:[[eu(12)-1,ol.length+eu(19)]],orphans:[[eu(17)-1,eu(6)],[eu(1)-1,eu(9)]],tiers:[[eu(27)-1,eu(33)]]},nu=Object.keys(pl).map(e=>{let t=tu[e].flatMap(([e,t])=>Vl(Ql(e),Ql(t),-18));return{name:e,d:Zl(t),x:Math.min(415,Math.max(Gl-Hl/2-6,t.reduce((e,[t])=>e+t,0)/t.length)),y:Kl,cost:pl[e].length}}),ru=Zl(Vl(0,ql,20)),iu=Zl(Vl(0,ql,-17)),au=class extends z{constructor(...e){super(...e),this.plays=[],this.chipsLeft=0,this.locked=!1,this.result=null,this.struck=[],this.hovered=null}willUpdate(e){e.has(`locked`)&&this.locked&&(this.hovered=null)}choose(e,t){!this.locked&&t<=this.chipsLeft&&this.dispatchEvent(new CustomEvent(`announce`,{detail:e}))}render(){let{room:e,chipsLeft:t}=this,n=new Set(this.hovered?gl(this.hovered):[]);return h`
|
|
408
|
+
<svg class=${tl({"lk-track":!0,"is-locked":this.locked})} viewBox="-4 -4 ${496} ${166}" role="group" aria-label=${this.t(`roulette.track`)}>
|
|
409
|
+
<path d=${ru} fill="#1e0d06" stroke="#d4a94e" stroke-width="1.6" />
|
|
410
|
+
<path d=${iu} fill="rgb(0 0 0 / .18)" />
|
|
411
|
+
${$l.map(e=>g`
|
|
412
|
+
<g class=${tl({"lk-track-cell":!0,"is-lit":n.has(e.number),"is-result":this.result===e.number,"is-struck":this.struck.includes(e.number)})} data-number=${e.number}>
|
|
413
413
|
<path d=${e.d} fill=${e.fill} stroke="#d4a94e" stroke-width=".8" />
|
|
414
414
|
<text x=${e.x} y=${e.y}>${e.number}</text>
|
|
415
415
|
</g>
|
|
416
416
|
`)}
|
|
417
|
-
${
|
|
417
|
+
${nu.map(n=>{let r=this.plays.filter(e=>e.name===n.name),i=n.cost>t,a=()=>this.choose(n.name,n.cost);return g`
|
|
418
418
|
<g
|
|
419
|
-
class=${
|
|
419
|
+
class=${tl({"lk-track-sector":!0,"is-off":i})}
|
|
420
420
|
role="button"
|
|
421
421
|
tabindex=${this.locked||i?-1:0}
|
|
422
422
|
aria-disabled=${this.locked||i}
|
|
@@ -431,7 +431,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
431
431
|
<path d=${n.d} />
|
|
432
432
|
<text x=${n.x} y=${n.y-16} class="lk-track-name">${this.t(`roulette.announced.${n.name}`)}</text>
|
|
433
433
|
<text x=${n.x} y=${n.y+1} class="lk-track-cost">${this.t(`roulette.announced.cost`,{n:n.cost})}</text>
|
|
434
|
-
${
|
|
434
|
+
${xl(r,e=>e.prizeId,(t,i)=>g`
|
|
435
435
|
<g class="lk-rt-chip" transform="translate(${n.x+(i-(r.length-1)/2)*24} ${n.y+24})">
|
|
436
436
|
<circle r="11" fill=${e.color(t.prizeId)} />
|
|
437
437
|
<circle r="9.7" fill="none" stroke="#fbf3df" stroke-width="2.6" stroke-dasharray="3.8 3.82" />
|
|
@@ -442,7 +442,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
442
442
|
</g>
|
|
443
443
|
`})}
|
|
444
444
|
</svg>
|
|
445
|
-
`}},L([b({attribute:!1})],
|
|
445
|
+
`}},L([b({attribute:!1})],au.prototype,`plays`,void 0),L([b({type:Number})],au.prototype,`chipsLeft`,void 0),L([b({type:Boolean})],au.prototype,`locked`,void 0),L([b({attribute:!1})],au.prototype,`result`,void 0),L([b({attribute:!1})],au.prototype,`struck`,void 0),L([x()],au.prototype,`hovered`,void 0),au=L([y(`fl-roulette-track`)],au)}));function su(e,t,n,r){let[i,a]=lu(t,n),[o,s]=lu(t,r),[c,l]=lu(e,r),[u,d]=lu(e,n);return`M${u.toFixed(2)} ${d.toFixed(2)}L${i.toFixed(2)} ${a.toFixed(2)}A${t} ${t} 0 0 1 ${o.toFixed(2)} ${s.toFixed(2)}L${c.toFixed(2)} ${l.toFixed(2)}A${e} ${e} 0 0 0 ${u.toFixed(2)} ${d.toFixed(2)}Z`}var cu,lu,uu,du,fu,pu,mu,hu=n((()=>{v(),C(),yl(),B(),R(),cu=360/ol.length,lu=(e,t)=>{let n=t*Math.PI/180;return[e*Math.sin(n),-e*Math.cos(n)]},uu=e=>e===0?[`#156b3c`,`#0e4a29`]:sl.has(e)?[`#9e1b22`,`#6e1218`]:[`#17120e`,`#0c0906`],du=ol.map((e,t)=>{let n=t*cu-cu/2,[r,i]=uu(e);return{number:e,outer:{d:su(206,236,n,n+cu),fill:r},inner:{d:su(174,206,n,n+cu),fill:i},whole:su(176,234,n+.6,n+cu-.6),label:`rotate(${t*cu}) translate(0 -221)`,fret:[lu(174,n),lu(236,n)]}}),fu=Array.from({length:8},(e,t)=>t*45+22.5),pu=Array.from({length:24},(e,t)=>t*7.5),mu=class extends z{constructor(...e){super(...e),this.prefix=`rl`,this.ball=!1,this.rootClass=``}render(){let{prefix:e,struck:t}=this,n=`url(#${e}-gold)`;return h`
|
|
446
446
|
<svg class=${this.rootClass||_} viewBox="-320 -320 640 640">
|
|
447
447
|
<defs>
|
|
448
448
|
<radialGradient id="${e}-cone" cx="-.2" cy="-.3" r="1.1"><stop offset="0" stop-color="#8a4a24" /><stop offset="1" stop-color="#3a1a0b" /></radialGradient>
|
|
@@ -455,10 +455,10 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
455
455
|
<circle r="306" fill="none" stroke=${n} stroke-width="10" />
|
|
456
456
|
<circle r="296" fill="url(#${e}-track)" />
|
|
457
457
|
<circle r="242" fill="#0c0906" />
|
|
458
|
-
${
|
|
458
|
+
${fu.map(e=>g`<path transform="rotate(${e}) translate(0 -258)" d="M0 -9 L6 0 L0 9 L-6 0Z" fill=${n} stroke="#3a2a10" stroke-width=".8" />`)}
|
|
459
459
|
<g class="lk-rl-rotor">
|
|
460
460
|
<circle r="238" fill="#0c0906" />
|
|
461
|
-
${
|
|
461
|
+
${du.map(e=>g`
|
|
462
462
|
<path d=${e.outer.d} fill=${e.outer.fill} />
|
|
463
463
|
<path d=${e.inner.d} fill=${e.inner.fill} />
|
|
464
464
|
${t?.includes(e.number)?g`<path d=${e.whole} class="lk-rl-struck" fill=${n} />`:_}
|
|
@@ -466,7 +466,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
466
466
|
<line x1=${e.fret[0][0]} y1=${e.fret[0][1]} x2=${e.fret[1][0]} y2=${e.fret[1][1]} stroke=${n} stroke-width="2" />
|
|
467
467
|
`)}
|
|
468
468
|
<circle r="174" fill="url(#${e}-cone)" />
|
|
469
|
-
${
|
|
469
|
+
${pu.map(e=>g`<ellipse rx="120" ry="34" transform="rotate(${e})" fill="none" stroke="#f3d488" stroke-opacity=".25" stroke-width=".7" />`)}
|
|
470
470
|
<circle r="174" fill="none" stroke=${n} stroke-width="3" />
|
|
471
471
|
<circle r="236" fill="none" stroke=${n} stroke-width="3" />
|
|
472
472
|
<g stroke=${n} stroke-width="9" stroke-linecap="round"><line x1="-62" y1="0" x2="62" y2="0" /><line x1="0" y1="-62" x2="0" y2="62" /></g>
|
|
@@ -476,17 +476,17 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
476
476
|
${this.ball?g`<g class="lk-rl-ball"><circle r="9.5" fill="url(#${e}-ball)" /><circle cx="-3" cy="-3" r="2.6" fill="#fff" /></g>`:_}
|
|
477
477
|
<circle r="300" fill="url(#${e}-gloss)" pointer-events="none" />
|
|
478
478
|
</svg>
|
|
479
|
-
`}},L([b()],
|
|
479
|
+
`}},L([b()],mu.prototype,`prefix`,void 0),L([b({type:Boolean})],mu.prototype,`ball`,void 0),L([b({attribute:!1})],mu.prototype,`struck`,void 0),L([b()],mu.prototype,`rootClass`,void 0),mu=L([y(`fl-roulette-wheel`)],mu)}));function gu(e){if(e<.6)return 282;if(e<.76){let t=(e-.6)/.16;return 282-62*(t<.5?4*t**3:1-(-2*t+2)**3/2)+10*Math.sin(t*Math.PI)**6}if(e<.96){let t=(e-.76)/.2;return 196+22*Math.abs(Math.cos(2.5*Math.PI*t))*(1-t)**1.6}return 192}function _u(e,t,n,r=6){if(r===0)return[e,t];let i={x:(e.x+t.x)/2+T(-n,n),y:(e.y+t.y)/2+T(-n,n)*.3};return[..._u(e,i,n/2,r-1),..._u(i,t,n/2,r-1).slice(1)]}function vu(e){let t=_u(e.from,e.to,46);e.paths=[t,...[.3,.55].map(e=>{let n=t[Math.floor(t.length*e)];return _u(n,{x:n.x+T(-70,70),y:n.y+T(30,80)},18,4)})]}function yu(e,t){e.beginPath(),t.forEach((t,n)=>n?e.lineTo(t.x,t.y):e.moveTo(t.x,t.y)),e.stroke()}async function bu(e,t,n){let[r,i,a]=[`from`,`active`,`to`].map(e=>`${t}-${n}-${e}`),o=e.style;n===`enter`&&(o.transition=`none`),e.classList.add(r,i),n===`enter`&&(getComputedStyle(e).opacity,o.transition=``),await new Promise(e=>requestAnimationFrame(()=>requestAnimationFrame(e))),e.classList.replace(r,a);let s=getComputedStyle(e),c=s.transitionDelay.split(`,`).map(parseFloat),l=Math.max(...s.transitionDuration.split(`,`).map((e,t)=>parseFloat(e)+(c[t%c.length]??0)));await xs(l*1e3),n===`enter`&&e.classList.remove(i,a)}var xu,Su,Cu,wu,Tu,Eu,Du,J,Ou=n((()=>{v(),C(),rl(),Di(),w(),A(),k(),yl(),N(),B(),Es(),H(),F(),W(),Zs(),zl(),ou(),hu(),R(),xu=360/ol.length,Su=[.6,.76,.84,.9,.95],Cu=[45,45,50,55,60,70,80,95,115,140,175],wu=Cu.reduce((e,t)=>e+t,0)+420,Tu=[`#ffffff`,`#fff1c4`,`#ffd36e`,`#bfe0ff`],Eu=e=>e===0?`#156b3c`:sl.has(e)?`#9e1b22`:`#17120e`,Du=e=>e<.76||e>.96?1:1+.28*Math.abs(Math.sin(2.5*Math.PI*((e-.76)/.2)))*(1-(e-.76)/.2)**1.4,J=class extends z{constructor(...e){super(...e),this.options={},this.state=`idle`,this.result=null,this.bets=[],this.chosen=``,this.winning=null,this.shownCall=null,this.surface=`table`,this.shownSurface=`table`,this.plays=[],this.history=[],this.lastThrown=null,this.struck=[],this.medallions=Array.from({length:3},()=>({shown:null,rolling:!1})),this.boost=M(`roulette`),this.storm=this.boost>1,this.call=null,this.callChange=Promise.resolve(),this.surfaceChange=Promise.resolve(),this.rotorAngle=T(0,360),this.ballAngle=T(0,360),this.ballRadius=192,this.raf=0,this.previous=performance.now(),this.spin=null,this.bolts=[],this.storming=!1,this.darkness=0}get used(){return this.bets.reduce((e,t)=>e+t.chips,0)}get struckResult(){return this.result!==null&&this.struck.includes(this.result)}willUpdate(){this.room.prizeIds.includes(this.chosen)||(this.chosen=this.room.prizeIds[0])}firstUpdated(){this.raf=requestAnimationFrame(e=>this.frame(e))}disconnectedCallback(){super.disconnectedCallback(),cancelAnimationFrame(this.raf)}draw(e=1){this.board?.querySelector(`.lk-rl-rotor`)?.setAttribute(`transform`,`rotate(${this.rotorAngle})`);let[t,n]=lu(this.ballRadius,this.ballAngle);this.board?.querySelector(`.lk-rl-ball`)?.setAttribute(`transform`,`translate(${t.toFixed(2)} ${n.toFixed(2)}) scale(${e.toFixed(3)})`)}frame(e){let t=Math.min(.05,(e-this.previous)/1e3);this.previous=e;let n=this.spin;if(!n)this.rotorAngle+=14*t,this.ballAngle+=14*t,this.draw();else{let r=Math.min(1,(e-n.start)/n.duration);for(this.rotorAngle+=(14+70*(1-r)**2)*t,this.ballAngle=this.rotorAngle+n.end+n.laps*(1-r)**3,this.ballRadius=gu(r);n.cue<Su.length&&r>=Su[n.cue];)U.play(`bounce`,1+n.cue*.06,1-n.cue*.15),n.cue++;r>=.76&&this.call&&this.setCall(null),this.draw(Du(r)),r>=1&&this.land()}this.storm&&this.drawSky(e,t),this.raf=requestAnimationFrame(e=>this.frame(e))}drawSky(e,t){let n=this.sky,r=n?.getContext(`2d`);if(!n||!r)return;let i=Math.min(2,devicePixelRatio);n.width!==Math.round(n.clientWidth*i)&&(n.width=Math.round(n.clientWidth*i),n.height=Math.round(n.clientHeight*i)),r.setTransform(i,0,0,i,0,0),r.clearRect(0,0,n.clientWidth,n.clientHeight),this.darkness+=(+!!this.storming-this.darkness)*Math.min(1,t*(this.storming?6:3)),this.dark&&(this.dark.style.opacity=(.55*this.darkness).toFixed(3)),this.bolts=this.bolts.filter(t=>e-t.start<700),r.lineCap=`round`,r.lineJoin=`round`;for(let t of this.bolts){let n=Math.max(0,e-t.start)/1e3,i=Math.floor(n/.06);i!==t.shape&&(t.shape=i,vu(t));let a=[1,.35,1,.75,.3,.9,.5,.2][i%8]*Math.max(0,1-n/.7),o=r.createRadialGradient(t.to.x,t.to.y,0,t.to.x,t.to.y,90);o.addColorStop(0,`rgb(255 244 210 / ${(.9*a).toFixed(3)})`),o.addColorStop(1,`rgb(255 214 120 / 0)`),r.fillStyle=o,r.fillRect(t.to.x-90,t.to.y-90,180,180),t.paths.forEach((e,t)=>{let n=t?.5:1;r.globalAlpha=a,r.shadowColor=`#ffd36e`,r.shadowBlur=24,r.strokeStyle=`rgb(255 214 120 / 0.35)`,r.lineWidth=11*n,yu(r,e),r.shadowColor=`#bfe0ff`,r.shadowBlur=10,r.strokeStyle=`#fff1c4`,r.lineWidth=4*n,yu(r,e),r.shadowBlur=0,r.strokeStyle=`#ffffff`,r.lineWidth=1.6*n,yu(r,e)})}r.globalAlpha=1}setMedallion(e,t){let n=this.medallions[e];if(n.shown===t.shown&&n.rolling===t.rolling)return;let r=this.querySelectorAll(`.lk-rl-medallion`)[e],i=()=>r?.querySelector(`:scope > b, :scope > .fl-icon`),a=n.shown===t.shown?null:i();if(a){let e=a.cloneNode(!0);e.classList.remove(`lk-roll-enter-from`,`lk-roll-enter-active`,`lk-roll-enter-to`),r.append(e),bu(e,`lk-roll`,`leave`).then(()=>e.remove())}this.medallions=this.medallions.map((n,r)=>r===e?t:n),a&&this.updateComplete.then(()=>{let e=i();e&&bu(e,`lk-roll`,`enter`)})}setCall(e){this.call!==e&&(this.call=e,this.callChange=this.callChange.then(async()=>{if(this.shownCall===this.call)return;let e=this.querySelector(`.lk-rl-call`);e&&await bu(e,`lk-call`,`leave`),this.shownCall=this.call,await this.updateComplete;let t=this.querySelector(`.lk-rl-call`);t&&await bu(t,`lk-call`,`enter`)}))}setSurface(e){this.surface!==e&&(this.surface=e,this.surfaceChange=this.surfaceChange.then(async()=>{if(this.shownSurface===this.surface)return;let e=this.querySelector(`.lk-rl-felt > * > svg`);e&&await bu(e,`lk-surface`,`leave`),this.shownSurface=this.surface,await this.updateComplete;let t=this.querySelector(`.lk-rl-felt > fl-roulette-table, .lk-rl-felt > fl-roulette-track`);await t?.updateComplete;let n=t?.querySelector(`:scope > svg`);n&&await bu(n,`lk-surface`,`enter`)}))}roll(e,t){if(P())return this.setMedallion(e,{shown:t,rolling:!1}),this.strike(e,t);this.setMedallion(e,{shown:this.medallions[e].shown,rolling:!0});let n=0;Cu.forEach((r,i)=>{n+=r,this.later(()=>{let n=i===Cu.length-1;this.setMedallion(e,{shown:n?t:_o(0,36),rolling:!n}),U.play(`tick`,1.4-i*.03,.5),n&&this.later(()=>this.strike(e,t),160)},n)})}strike(e,t){if(this.struck=[...this.struck,t],U.play(`thunder`,1,.9),P())return;let n=this.sky.getBoundingClientRect(),r=this.root?.querySelector(`.lk-rl-felt [data-number="${t}"]`)?.getBoundingClientRect(),i=this.root?.querySelectorAll(`.lk-rl-medallion`)[e]?.getBoundingClientRect();if(!r||!i)return;let a={x:r.left+r.width/2-n.left,y:r.top+r.height/2-n.top},o={x:i.left+i.width/2-n.left,y:i.top+i.height/2-n.top};this.bolts.push({from:o,to:a,start:performance.now(),shape:-1,paths:[]}),I.burst(r.left+r.width/2,r.top+r.height/2,{count:26,type:`spark`,speed:520,spread:Math.PI*2,life:.55,gravity:500,colors:Tu})}layout(){return{bets:this.bets.map(e=>({...e})),plays:[...this.plays]}}placeChips(e){if(this.state!==`idle`||this.used+e.length>6)return!1;this.result=null,this.clearStorm(),this.history=[...this.history,this.layout()];let t=[...this.bets];for(let n of e){let e=t.find(e=>e.spot===n&&e.prizeId===this.chosen);e?e.chips++:t.push({spot:n,prizeId:this.chosen,chips:1})}return this.bets=t,U.play(`tick`),!0}announce(e){this.placeChips(pl[e])&&(this.plays.some(t=>t.name===e&&t.prizeId===this.chosen)||(this.plays=[...this.plays,{name:e,prizeId:this.chosen}]))}restore(e){this.bets=e.bets.map(e=>({...e})),this.plays=[...e.plays],this.result=null,this.clearStorm()}clearChips(){this.history=[...this.history,this.layout()],this.restore({bets:[],plays:[]})}undo(){let e=this.history.at(-1);e&&(this.history=this.history.slice(0,-1),this.restore(e))}rebet(){this.state===`idle`&&!this.bets.length&&this.lastThrown&&(this.history=[...this.history,this.layout()],this.restore(this.lastThrown),U.play(`tick`))}clearStorm(){this.struck=[],this.medallions.forEach((e,t)=>this.setMedallion(t,{shown:null,rolling:!1}))}launch(){if(this.state!==`idle`||!this.bets.length)return;if(this.result=null,this.winning=null,this.clearStorm(),this.lastThrown=this.layout(),this.history=[],this.state=`spinning`,!this.storm)return this.throwBall([]);let e=_l(this.boost),t=P()?0:wu;this.storming=!P(),e.forEach((e,n)=>this.later(()=>this.roll(n,e),350+n*t)),this.later(()=>{this.storming=!1,this.throwBall(e)},350+e.length*t+250)}throwBall(e){let t=vl(this.bets,e,this.boost),n=ol.indexOf(t),r=vo(this.ballAngle-this.rotorAngle,360),i=n*xu;this.setCall(`made`),this.later(()=>this.call===`made`&&this.setCall(`closed`),P()?0:1900),this.spin={index:n,end:i,laps:vo(r-i,360)+3240,start:performance.now(),duration:P()?1:7200,cue:0},U.play(`whoosh`)}land(){let e=ol[this.spin.index];this.spin=null,this.setCall(null),this.ballRadius=192,this.result=e,U.play(`stop`);let t=this.struckResult;if(t){U.play(`thunder`,1,.7);let e=this.board?.querySelector(`.lk-rl-result`)?.getBoundingClientRect();e&&!P()&&I.burst(e.left+e.width/2,e.top+e.height/2,{count:60,type:`spark`,speed:700,spread:Math.PI*2,life:.8,gravity:300,colors:Tu})}let n=al(this.bets,e);if(!n){this.state=`idle`;return}this.state=`won`,this.winning=n.bet.spot,U.play(`chime`,n.tier===`jackpot`?1.5:1.1);let r={game:`roulette`,tier:n.tier,prizeId:n.bet.prizeId,award:bo(this.room.prize(n.bet.prizeId),n.tier),detail:{key:t?`detail.storm`:`detail.roulette`,params:{n:e}}};this.later(()=>this.room.finish(r),P()?200:1500)}render(){let{boost:e,storm:t,result:n,used:r}=this,i=this.state===`idle`,a=this.struckResult,o=n===null?`#17120e`:Eu(n),s=this.t(t?`roulette.storm.rules`:`games.roulette.rules`,{n:6,m:e});return Js(this.room.t,{state:this.state,rules:s,multiplier:e},h`
|
|
480
480
|
<div class="lk-roulette ${t?`lk-roulette--storm`:``}">
|
|
481
481
|
<div class="lk-rl-board">
|
|
482
482
|
${t?h`<div class="lk-rl-bolts" role="status" aria-label=${this.t(`roulette.storm.numbers`)}>
|
|
483
|
-
<span class="lk-rl-bolts-title">${V(
|
|
483
|
+
<span class="lk-rl-bolts-title">${V(ho)}${this.t(`roulette.storm.title`)}</span>
|
|
484
484
|
${this.medallions.map(t=>{let r=!t.rolling&&t.shown!==null&&this.struck.includes(t.shown);return h`
|
|
485
485
|
<div
|
|
486
|
-
class=${
|
|
487
|
-
style=${t.shown===null?_:`--lk-bolt-number: ${
|
|
486
|
+
class=${tl({"lk-rl-medallion":!0,"is-rolling":t.rolling,"is-struck":r,"is-result":t.shown!==null&&t.shown===n})}
|
|
487
|
+
style=${t.shown===null?_:`--lk-bolt-number: ${Eu(t.shown)}`}
|
|
488
488
|
>
|
|
489
|
-
${t.shown===null?V(
|
|
489
|
+
${t.shown===null?V(ho):Ti(t.shown,h`<b>${t.shown}</b>`)}
|
|
490
490
|
${r?h`<small>×${e}</small>`:_}
|
|
491
491
|
</div>
|
|
492
492
|
`})}
|
|
@@ -494,17 +494,17 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
494
494
|
</div>`:_}
|
|
495
495
|
<fl-roulette-wheel prefix="rl" ball .struck=${this.struck}></fl-roulette-wheel>
|
|
496
496
|
<div
|
|
497
|
-
class=${
|
|
497
|
+
class=${tl({"lk-rl-result":!0,"is-on":n!==null,"is-struck":a})}
|
|
498
498
|
style="background: radial-gradient(circle at 35% 30%, color-mix(in oklab, ${o} 70%, white), ${o} 60%); box-shadow: 0 0 0 4px rgb(255 255 255 / .2), 0 0 40px ${o}"
|
|
499
499
|
>
|
|
500
500
|
<b>${n}</b>
|
|
501
|
-
${a?h`<small>${V(
|
|
501
|
+
${a?h`<small>${V(ho)}×${e}</small>`:_}
|
|
502
502
|
</div>
|
|
503
503
|
</div>
|
|
504
504
|
<div class="lk-rl-switch" role="radiogroup" aria-label=${this.t(`roulette.surface`)}>
|
|
505
505
|
${[`table`,`track`].map(e=>h`
|
|
506
506
|
<button role="radio" aria-checked=${this.surface===e} class=${this.surface===e?`is-on`:``} @click=${()=>this.setSurface(e)}>
|
|
507
|
-
${V(e===`table`?
|
|
507
|
+
${V(e===`table`?va:Ba)}${this.t(`roulette.${e}`)}
|
|
508
508
|
</button>
|
|
509
509
|
`)}
|
|
510
510
|
</div>
|
|
@@ -525,7 +525,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
525
525
|
.struck=${this.struck}
|
|
526
526
|
@announce=${e=>this.announce(e.detail)}
|
|
527
527
|
></fl-roulette-track>`}
|
|
528
|
-
${this.shownCall?
|
|
528
|
+
${this.shownCall?Ti(this.shownCall,h`<p class="lk-rl-call" aria-live="assertive"><span>${this.t(`roulette.call.${this.shownCall}`)}</span></p>`):_}
|
|
529
529
|
</div>
|
|
530
530
|
<div class="lk-rl-rack">
|
|
531
531
|
<fl-chips
|
|
@@ -538,27 +538,27 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
538
538
|
<div class="lk-rl-actions">
|
|
539
539
|
<div class="lk-rl-quick">
|
|
540
540
|
<button class="lk-round" aria-label=${this.t(`roulette.undo`)} data-tip=${this.t(`roulette.undo`)} ?disabled=${!this.history.length||!i} @click=${this.undo}>
|
|
541
|
-
${V(
|
|
541
|
+
${V(oo)}
|
|
542
542
|
</button>
|
|
543
543
|
<button class="lk-round" aria-label=${this.t(`roulette.rebet`)} data-tip=${this.t(`roulette.rebet`)} ?disabled=${!this.lastThrown||!!this.bets.length||!i} @click=${this.rebet}>
|
|
544
|
-
${V(
|
|
544
|
+
${V(Wa)}
|
|
545
545
|
</button>
|
|
546
546
|
<button class="lk-round" aria-label=${this.t(`roulette.clear`)} data-tip=${this.t(`roulette.clear`)} ?disabled=${!this.bets.length||!i} @click=${this.clearChips}>
|
|
547
|
-
${V(
|
|
547
|
+
${V(io)}
|
|
548
548
|
</button>
|
|
549
549
|
</div>
|
|
550
550
|
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${!this.bets.length||!i} @click=${this.launch}>
|
|
551
|
-
${V(
|
|
551
|
+
${V(Qi)}${this.t(`roulette.launch`)}
|
|
552
552
|
</button>
|
|
553
553
|
</div>
|
|
554
554
|
</div>
|
|
555
555
|
${t?h`<div class="lk-rl-dark" aria-hidden="true"></div><canvas class="lk-rl-sky" aria-hidden="true"></canvas>`:_}
|
|
556
556
|
</div>
|
|
557
|
-
`)}},L([b({attribute:!1})],J.prototype,`options`,void 0),L([x()],J.prototype,`state`,void 0),L([x()],J.prototype,`result`,void 0),L([x()],J.prototype,`bets`,void 0),L([x()],J.prototype,`chosen`,void 0),L([x()],J.prototype,`winning`,void 0),L([x()],J.prototype,`shownCall`,void 0),L([x()],J.prototype,`surface`,void 0),L([x()],J.prototype,`shownSurface`,void 0),L([x()],J.prototype,`plays`,void 0),L([x()],J.prototype,`history`,void 0),L([x()],J.prototype,`lastThrown`,void 0),L([x()],J.prototype,`struck`,void 0),L([x()],J.prototype,`medallions`,void 0),L([S(`.lk-roulette`)],J.prototype,`root`,void 0),L([S(`.lk-rl-board`)],J.prototype,`board`,void 0),L([S(`.lk-rl-sky`)],J.prototype,`sky`,void 0),L([S(`.lk-rl-dark`)],J.prototype,`dark`,void 0),J=L([y(`fl-roulette`)],J)}));function wu(e){let t=t=>xo(e[t],Ou.filter(e=>e===t).length),n={small:t(`small`),big:t(`big`),jackpot:t(`jackpot`)},r={small:0,big:0,jackpot:0};return Ou.map(e=>e===`none`?{tier:e,award:null}:{tier:e,award:n[e][r[e]++]})}function Tu(e,t){let n=Ou.flatMap((t,n)=>t===e?[n]:[]),r=Math.min(...n.map(e=>Math.abs(e-t)));return E(n.filter(e=>Math.abs(e-t)===r))}function Eu(e,t){let n=Au(t),r=ju[Math.min(e,8)];return Ou.map((e,t)=>e===`none`?{tier:e,award:null}:n[Math.max(0,r-Math.min(2,Math.abs(t-4)))])}function Du(e,t){return Math.min(1,(rs.small+rs.big+rs.jackpot)*e*(t?e:1))}var Ou,ku,Au,ju,Mu=n((()=>{A(),k(),N(),Ou=[`none`,`small`,`none`,`big`,`jackpot`,`big`,`none`,`small`,`none`],ku=[180,400],Au=e=>[...xo(e.small,6).map(e=>({tier:`small`,award:e})),...xo(e.big,3).map(e=>({tier:`big`,award:e})),...xo(e.jackpot,1).map(e=>({tier:`jackpot`,award:e}))],ju=[0,2,4,6,7,8,8,8,9]})),Nu,Pu,Fu,Iu,Y,Lu,Ru,zu,Bu,Vu,Hu,Uu,Wu,Gu,Ku=n((()=>{v(),C(),w(),Mu(),k(),ko(),N(),qs(),B(),xs(),H(),F(),ks(),R(),Nu=[`#ff657c`,`#ffbb66`,`#fff19c`,`#8df0b5`,`#6ecbff`,`#c797ff`],Pu=[`#fff6d2`,`#ffe08a`,`#f6c453`,`#e0a12e`,`#b9791c`],Fu=400,Iu=620,Y={x:200,y:220},Lu=560,Ru=376/Ou.length,zu={none:`#2a170c`,small:`#1d3561`,big:`#7d1c24`,jackpot:`#c79a3e`},Bu=72,Vu=Math.sqrt(177**2-(Y.y-Bu)**2)-4,Hu=e=>Math.max(Y.x-Vu,Math.min(Y.x+Vu,e)),Uu={blue:[`#8cc8ff`,`#2f7fe6`,`#163f8c`],red:[`#ffa08c`,`#f0433f`,`#8c1420`],violet:[`#ffc4f4`,`#e04fd0`,`#7a1f8c`]},Wu={blue:7.2,red:7.2,violet:9},Gu=class extends z{constructor(...e){super(...e),this.options={},this.state=`idle`,this.chosen=``,this.redHits=0,this.fever=!1,this.violetHit=!1,this.boost=1,this.colorful=!1,this.dropX=Y.x,this.pegs=[],this.guide=[],this.avoid=[],this.board=null,this.ball=null,this.trail=[],this.target=0,this.tier=`none`,this.wins=!1,this.landed=null,this.raf=0,this.previous=performance.now(),this.time=0,this.stillSince=0,this.slowMotionUntil=0,this.zoom=1,this.camera={x:Y.x,y:Y.y},this.lastFirework=0,this.pending=[],this.frame=e=>{let t=Math.min(.033,(e-this.previous)/1e3);this.previous=e,this.time+=t;let{time:n}=this;if(this.ball){let e=this.colorful&&this.redHits===7?this.pegs.find(e=>e.color===`red`&&!e.lit):void 0,r=e&&Math.hypot(this.ball.x-e.x,this.ball.y-e.y)<65;r&&(this.camera={x:e.x,y:e.y}),this.physics(t*(!P()&&(r||n<this.slowMotionUntil)?.24:1)),this.ball&&(this.trail=[...this.trail,{x:this.ball.x,y:this.ball.y}].slice(this.fever?-40:-8));let i=!P()&&(r||n<this.slowMotionUntil);this.zoom+=((i?2.4:1)-this.zoom)*Math.min(1,t*(i?5:2.5))}else this.zoom+=(1-this.zoom)*Math.min(1,t*2.5);if(this.fever&&!P()&&n-this.lastFirework>.3){this.lastFirework=n;let e=this.canvas.getBoundingClientRect();I.burst(e.left+T(0,e.width),e.top+T(0,e.height*.7),{count:20,colors:Nu,type:`spark`,speed:420,life:.9})}let r=this.canvas?.getContext(`2d`);if(r){let e=Math.min(2,devicePixelRatio);r.setTransform(e,0,0,e,0,0),r.clearRect(0,0,Fu,Iu),this.zoom>1.001&&(r.translate(this.camera.x,this.camera.y),r.scale(this.zoom,this.zoom),r.translate(-this.camera.x,-this.camera.y)),this.drawBoard(r),this.drawBall(r)}this.raf=requestAnimationFrame(this.frame)},this.keydown=e=>{let t=e.composedPath()[0];this.state!==`idle`||e.repeat||t instanceof HTMLElement&&t.closest(`input, select, textarea, [role=dialog] input`)||((e.code===`ArrowLeft`||e.code===`ArrowRight`)&&(e.preventDefault(),this.dropX=Hu(this.dropX+(e.code===`ArrowLeft`?-10:10))),e.code===`Space`&&!(t instanceof HTMLButtonElement)&&(e.preventDefault(),this.drop()))}}get pockets(){let{bonus:e}=this.options;if(this.colorful)return Eu(this.redHits,this.room.board);let t=wu(this.room.board);return e?t.map(t=>t.tier===e.tier?{tier:t.tier,award:e.award}:t):t}willUpdate(e){if(this.hasUpdated)e.has(`room`)&&!this.room.prizeIds.includes(this.chosen)&&(this.chosen=this.room.prizeIds[0]);else{let{bonus:e}=this.options;this.boost=e?1:M(`pachinko`),this.colorful=this.boost>1&&!e,this.chosen=e?.prizeId??this.room.prizeIds[0],this.buildPegs(),this.colorPegs()}}buildPegs(){let e=this.colorful?{rows:10,top:112,rowStep:44,step:50,reach:4}:{rows:16,top:92,rowStep:29,step:28,reach:6};for(let t=0;t<e.rows;t++){let n=e.top+t*e.rowStep;if(n>535)break;for(let r=(t%2?.5-e.reach:-e.reach)*e.step;r<=e.reach*e.step;r+=e.step){let e=Y.x+r;e<24||e>376||Math.hypot(e-Y.x,n-Y.y)>164&&n<Y.y||this.pegs.push({x:e,y:n,hit:-1})}}for(let e=1;e<Ou.length;e++)this.pegs.push({x:12+e*Ru,y:556,hit:-1,divider:!0})}colorPegs(){for(let e of this.pegs)e.hit=-1,e.lit=!1,e.color=void 0;if(!this.colorful)return;let e=this.pegs.filter(e=>!e.divider),t=j(`pachinko.board`,{pegs:e},()=>{let[t,n]=ku,r=D(e.filter(e=>e.y>=t&&e.y<=n))[0];return{violet:r,reds:D(e.filter(e=>e!==r)).slice(0,8)}});this.board=t,e.forEach(e=>e.color=`blue`),t.reds.forEach(e=>e.color=`red`),t.violet.color=`violet`}drawBoard(e){let{colorful:t,time:n,dropX:r}=this,i=e.createLinearGradient(0,0,0,Iu);i.addColorStop(0,t?`#102941`:`#4a2614`),i.addColorStop(1,t?`#080e1c`:`#22100a`),e.fillStyle=i,e.beginPath(),e.moveTo(4,616),e.lineTo(4,Y.y),e.arc(Y.x,Y.y,196,Math.PI,0),e.lineTo(396,616),e.closePath(),e.fill(),e.strokeStyle=`rgb(243 212 136 / 0.14)`,e.lineWidth=.6;for(let n=0;n<(t?0:24);n++)e.beginPath(),e.ellipse(Y.x,380,170,46,n*Math.PI/24,0,Math.PI*2),e.stroke();e.strokeStyle=`#d4a94e`,e.lineWidth=3,e.beginPath(),e.arc(Y.x,Y.y,190,Math.PI,0),e.stroke();for(let t=0;t<30;t++){let r=t/29*Math.PI,i=this.state===`spinning`?(Math.floor(n*18)-t)%6==0:(Math.floor(n*1.6)+t)%2==0;e.fillStyle=i?`#ffe3a0`:`#4a3a1e`,e.shadowColor=`#ffcf7a`,e.shadowBlur=i?10:0,e.beginPath(),e.arc(Y.x+Math.cos(Math.PI-r)*198,Y.y-Math.sin(r)*198,3.2,0,Math.PI*2),e.fill()}e.shadowBlur=0,e.strokeStyle=`rgb(226 189 99 / 0.55)`,e.lineWidth=2,e.beginPath(),e.moveTo(Y.x-Vu,61),e.lineTo(Y.x+Vu,61),e.stroke(),this.state===`idle`&&!this.ball&&(e.setLineDash([3,5]),e.strokeStyle=`rgb(255 227 160 / 0.45)`,e.lineWidth=1.2,e.beginPath(),e.moveTo(r,80),e.lineTo(r,132),e.stroke(),e.setLineDash([]),e.fillStyle=`#d4a94e`,e.beginPath(),e.roundRect(r-9,57,18,8,3),e.fill(),e.globalAlpha=.55+.35*Math.sin(n*4),this.drawSphere(e,r,Bu),e.globalAlpha=1),this.pockets.forEach((t,n)=>{let r=12+n*Ru,i=e.createLinearGradient(0,Lu,0,610);i.addColorStop(0,zu[t.tier]),i.addColorStop(1,`#120a05`),e.fillStyle=i,e.globalAlpha=this.landed===n?1:.85,e.beginPath(),e.roundRect(r+2,Lu,Ru-4,46,8),e.fill(),e.globalAlpha=1,this.landed===n&&(e.strokeStyle=`#fff4d6`,e.lineWidth=2,e.stroke()),e.fillStyle=t.tier===`jackpot`?`#2a1a05`:`#f6e2a6`,e.font=t.tier!==`none`&&t.award===null?`700 14px sans-serif`:`700 10px ui-monospace, Menlo, monospace`,e.textAlign=`center`,e.fillText(t.tier===`none`?`—`:this.room.award(t.tier,t.award),r+Ru/2,590)});for(let r of this.pegs){if(t&&r.divider)continue;let i=r.hit>=0?Math.max(0,1-(n-r.hit)/.35):0;if(i>0&&(e.fillStyle=`rgba(255, 214, 130, ${i*.6})`,e.beginPath(),e.arc(r.x,r.y,4+i*9,0,Math.PI*2),e.fill()),t&&!r.divider){this.drawOrb(e,r.x,r.y,r.color,r.lit===!0,i);continue}let a=e.createRadialGradient(r.x-1.4,r.y-1.4,.5,r.x,r.y,4.6);a.addColorStop(0,`#ffffff`),a.addColorStop(.5,i>0?`#fff4d6`:`#d4a94e`),a.addColorStop(1,`#4b3a1c`),e.fillStyle=a,e.beginPath(),e.arc(r.x,r.y,r.divider?4:3.6,0,Math.PI*2),e.fill()}}drawOrb(e,t,n,r,i,a){let o=r===`violet`&&!i&&!P()?1+.08*Math.sin(this.time*5):1,s=Wu[r]*o*(1+a*.25),[c,l,u]=Uu[r];(i||r===`violet`)&&(e.fillStyle=i?`rgb(255 248 220 / 0.35)`:`rgb(240 120 230 / 0.35)`,e.beginPath(),e.arc(t,n,s+4+a*4,0,Math.PI*2),e.fill());let d=e.createLinearGradient(t,n-s,t,n+s);d.addColorStop(0,i?`#ffffff`:c),d.addColorStop(.45,i?c:l),d.addColorStop(1,i?l:u),e.fillStyle=d,e.beginPath(),e.arc(t,n,s,0,Math.PI*2),e.fill(),e.strokeStyle=`#f1cf72`,e.lineWidth=1.8,e.stroke(),e.strokeStyle=`#5a3a0c`,e.lineWidth=.8,e.beginPath(),e.arc(t,n,s+1.3,0,Math.PI*2),e.stroke(),e.fillStyle=`rgb(255 255 255 / 0.85)`,e.beginPath(),e.ellipse(t-s*.12,n-s*.5,s*.6,s*.28,-.15,0,Math.PI*2),e.fill(),r===`violet`&&(e.fillStyle=`#ffffff`,e.strokeStyle=u,e.lineWidth=2.4,e.font=`900 13px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.strokeText(`+`,t,n+1),e.fillText(`+`,t,n+1),e.textBaseline=`alphabetic`)}drawSphere(e,t,n){let r=e.createRadialGradient(t-2.2,n-2.4,.6,t,n,7);r.addColorStop(0,`#ffffff`),r.addColorStop(.5,`#ece6d8`),r.addColorStop(1,`#6d6250`),e.fillStyle=r,e.beginPath(),e.arc(t,n,6.5,0,Math.PI*2),e.fill()}drawBall(e){let{ball:t,trail:n}=this;t&&(this.fever?(e.save(),e.shadowColor=`#ffcf5a`,e.shadowBlur=14,n.forEach((t,r)=>{let i=r/n.length;e.globalAlpha=i*.9,e.fillStyle=Pu[Math.floor((1-i)*(Pu.length-1))],e.beginPath(),e.arc(t.x,t.y,2+6*i,0,Math.PI*2),e.fill(),r%4==0&&(e.fillStyle=`#ffffff`,e.beginPath(),e.arc(t.x+T(-5,5),t.y+T(-5,5),T(.6,1.6),0,Math.PI*2),e.fill())}),e.restore()):(n.forEach((t,r)=>{e.fillStyle=`#ffecc8`,e.globalAlpha=r/n.length*.25,e.beginPath(),e.arc(t.x,t.y,6.5*(r/n.length),0,Math.PI*2),e.fill()}),e.globalAlpha=1),this.drawSphere(e,t.x,t.y))}physics(e){let{ball:t,colorful:n}=this;if(!t)return;let r=(t.x-12)/Ru-.5;if(!n&&this.target<0&&t.y>330&&(this.target=j(`pachinko.pocket`,{near:r},()=>Tu(this.tier,r))),n&&t.y<530){let e=Ou.flatMap((e,t)=>e!==`none`===this.wins?[t]:[]);this.target=j(`pachinko.pocket`,{near:r},()=>e.sort((e,t)=>Math.abs(e-r)-Math.abs(t-r))[0])}let i=12+(this.target+.5)*Ru,a=e/4,o=this.guide[0];o&&(o.lit||t.y>o.y+10||this.stillSince&&this.time-this.stillSince>1)&&(this.guide=this.guide.slice(1));let s=this.guide[0];for(let e=0;e<4;e++){if(t.vy+=(n?1150:1500)*a,s&&t.y<s.y-4){let e=(Wu[s.color]+6.5)/2,n=s.x+(t.x<s.x?-e:e),r=s.y-Wu[s.color]-6.5-t.y,i=(-t.vy+Math.sqrt(Math.max(0,t.vy**2+2300*r)))/1150;i>.02&&(t.vx=Math.max(-600,Math.min(600,(n-t.x)/i)))}else n?t.vx+=Math.max(-220,Math.min(220,(i-t.x)*(t.y>470?9:3)))*a:this.target>=0&&(t.vx+=Math.max(-320,Math.min(320,(i-t.x)*(t.y>440?16:5)))*a);for(let e of this.avoid){let n=t.x-e.x;e.y-t.y>-6&&e.y-t.y<90&&Math.abs(n)<30&&(t.vx+=Math.sign(n||1)*2600*a)}if(t.x+=t.vx*a,t.y+=t.vy*a,t.y<Y.y){let e=t.x-Y.x,n=t.y-Y.y,r=Math.hypot(e,n);if(r>177){let i=e/r,a=n/r;t.x=Y.x+i*177,t.y=Y.y+a*177;let o=t.vx*i+t.vy*a;o>0&&(t.vx-=1.5*o*i,t.vy-=1.5*o*a)}}t.x<18&&Object.assign(t,{x:18,vx:Math.abs(t.vx)*.5}),t.x>382&&Object.assign(t,{x:382,vx:-Math.abs(t.vx)*.5});for(let e of this.pegs){if(t.y>540&&e.divider)continue;let r=t.x-e.x,i=t.y-e.y,a=Math.hypot(r,i),o=6.5+(e.divider?4:n?Wu[e.color]:3.6);if(a>=o||a===0)continue;let s=r/a,c=i/a;t.x=e.x+s*o,t.y=e.y+c*o;let l=t.vx*s+t.vy*c;if(l<0){let r=n&&!e.divider?1.78:1.62;t.vx-=r*l*s,t.vy-=r*l*c;let i=n?T(-6,6):T(-38,38);if(t.vx+=-c*i,t.vy+=s*i,this.time-e.hit>.08&&U.play(`bounce`,.8+t.y/Iu*.6,.5),n&&!e.divider&&!e.lit){if(e.lit=!0,e.color===`red`&&(this.redHits++,this.redHits===8&&this.startFever()),e.color===`violet`){let e=Du(this.boost,!1);!this.wins&&e<1&&(this.wins=j(`pachinko.wins`,{boost:this.boost,violet:!0},()=>Math.random()<(Du(this.boost,!0)-e)/(1-e))),this.violetHit=!0}e.color!==`blue`&&U.play(`chime`,e.color===`violet`?1.8:1+this.redHits*.08)}e.hit=this.time}}if(t.y>Lu){let e=12+this.target*Ru+8,n=12+(this.target+1)*Ru-8;if(t.x=Math.max(e,Math.min(n,t.x)),t.y>590)return this.land()}}Math.hypot(t.vx,t.vy)<30?(this.stillSince||=this.time,this.time-this.stillSince>.8&&Object.assign(t,{vx:t.vx+T(-80,80),vy:t.vy-60})):this.stillSince=0}startFever(){if(this.fever||(this.fever=!0,this.slowMotionUntil=this.time+1.5,U.play(`jackpot`),P()))return;let e=this.canvas.getBoundingClientRect();I.burst(e.left+e.width/2,e.top+e.height/3,{count:110,colors:Nu,speed:800,life:2.3})}land(){if(!this.ball)return;this.ball.y=590,this.landed=this.target;let e=this.pockets[this.target];if(U.play(`stop`),e.tier===`none`){this.ball=null,this.colorful?this.pending.push(this.later(()=>{this.colorPegs(),this.state=`idle`},P()?0:600)):this.state=`idle`,this.fever&&this.pending.push(this.later(()=>this.fever=!1,3e3));return}this.colorful&&e.tier===`jackpot`&&this.startFever(),U.play(`chime`,e.tier===`jackpot`?1.5:1.1);let t=this.canvas.getBoundingClientRect();I.burst(t.left+(12+(this.target+.5)*Ru)*t.width/Fu,t.top+Lu*t.height/Iu,{count:30,type:`spark`,speed:520,spread:1.6,life:.7,gravity:600,colors:bs}),this.state=`won`,this.ball=null;let{bonus:n}=this.options,r={game:n?`wheel`:`pachinko`,tier:e.tier,prizeId:this.chosen,award:e.award,detail:{key:n?`detail.wheel.pachinko`:this.colorful?`pachinko.detail`:`detail.pachinko`}};this.pending.push(this.later(()=>this.room.finish(r),P()?300:this.fever?3800:2e3))}aim(e){if(this.state!==`idle`)return;let t=this.canvas.getBoundingClientRect();this.dropX=Hu((e.clientX-t.left)*Fu/t.width)}drop(){if(this.state!==`idle`)return;this.pending.forEach(clearTimeout),this.pending=[];let{bonus:e}=this.options;this.tier=e?.tier??(this.colorful?`none`:cs(`pachinko`,this.boost)),this.redHits=0,this.fever=!1,this.slowMotionUntil=0,this.violetHit=!1,this.wins=j(`pachinko.wins`,{boost:this.boost,violet:!1},()=>Math.random()<Du(this.boost,!1)),{through:this.guide,avoid:this.avoid}=this.colorful&&this.board?j(`pachinko.route`,this.board,()=>({through:[],avoid:[]})):{through:[],avoid:[]},this.target=-1,this.landed=null,this.state=`spinning`,U.play(`whoosh`),this.ball={x:this.dropX,y:Bu,vx:this.colorful?T(-70,70):T(-15,15),vy:90},this.trail=[],P()&&!this.colorful&&(this.target=Tu(this.tier,(this.dropX-12)/Ru-.5),this.land())}firstUpdated(){let e=Math.min(2,devicePixelRatio);this.canvas.width=Fu*e,this.canvas.height=Iu*e,this.canvas.getContext(`2d`).setTransform(e,0,0,e,0,0),this.raf=requestAnimationFrame(this.frame)}connectedCallback(){super.connectedCallback(),addEventListener(`keydown`,this.keydown),this.hasUpdated&&(this.raf=requestAnimationFrame(this.frame))}disconnectedCallback(){super.disconnectedCallback(),cancelAnimationFrame(this.raf),removeEventListener(`keydown`,this.keydown)}render(){let{bonus:e}=this.options,{colorful:t,boost:n,state:r}=this,i=e?this.t(`games.pachinko.bonusRules`,{prize:this.room.name(e.prizeId)}):this.t(t?`pachinko.colorRules`:`games.pachinko.rules`),a=Math.round(Du(n,this.violetHit)*1e3)/10;return Ws(this.room.t,{state:r,rules:i,multiplier:n},h`
|
|
557
|
+
`)}},L([b({attribute:!1})],J.prototype,`options`,void 0),L([x()],J.prototype,`state`,void 0),L([x()],J.prototype,`result`,void 0),L([x()],J.prototype,`bets`,void 0),L([x()],J.prototype,`chosen`,void 0),L([x()],J.prototype,`winning`,void 0),L([x()],J.prototype,`shownCall`,void 0),L([x()],J.prototype,`surface`,void 0),L([x()],J.prototype,`shownSurface`,void 0),L([x()],J.prototype,`plays`,void 0),L([x()],J.prototype,`history`,void 0),L([x()],J.prototype,`lastThrown`,void 0),L([x()],J.prototype,`struck`,void 0),L([x()],J.prototype,`medallions`,void 0),L([S(`.lk-roulette`)],J.prototype,`root`,void 0),L([S(`.lk-rl-board`)],J.prototype,`board`,void 0),L([S(`.lk-rl-sky`)],J.prototype,`sky`,void 0),L([S(`.lk-rl-dark`)],J.prototype,`dark`,void 0),J=L([y(`fl-roulette`)],J)}));function ku(e){let t=t=>Eo(e[t],Nu.filter(e=>e===t).length),n={small:t(`small`),big:t(`big`),jackpot:t(`jackpot`)},r={small:0,big:0,jackpot:0};return Nu.map(e=>e===`none`?{tier:e,award:null}:{tier:e,award:n[e][r[e]++]})}function Au(e,t){let n=Nu.flatMap((t,n)=>t===e?[n]:[]),r=Math.min(...n.map(e=>Math.abs(e-t)));return E(n.filter(e=>Math.abs(e-t)===r))}function ju(e,t){let n=Fu(t),r=Iu[Math.min(e,8)];return Nu.map((e,t)=>e===`none`?{tier:e,award:null}:n[Math.max(0,r-Math.min(2,Math.abs(t-4)))])}function Mu(e,t){return Math.min(1,(cs.small+cs.big+cs.jackpot)*e*(t?e:1))}var Nu,Pu,Fu,Iu,Lu=n((()=>{A(),k(),N(),Nu=[`none`,`small`,`none`,`big`,`jackpot`,`big`,`none`,`small`,`none`],Pu=[180,400],Fu=e=>[...Eo(e.small,6).map(e=>({tier:`small`,award:e})),...Eo(e.big,3).map(e=>({tier:`big`,award:e})),...Eo(e.jackpot,1).map(e=>({tier:`jackpot`,award:e}))],Iu=[0,2,4,6,7,8,8,8,9]})),Ru,zu,Bu,Vu,Y,Hu,Uu,Wu,Gu,Ku,qu,Ju,Yu,Xu,Zu=n((()=>{v(),C(),w(),Lu(),k(),Po(),N(),Zs(),B(),Es(),H(),F(),W(),R(),Ru=[`#ff657c`,`#ffbb66`,`#fff19c`,`#8df0b5`,`#6ecbff`,`#c797ff`],zu=[`#fff6d2`,`#ffe08a`,`#f6c453`,`#e0a12e`,`#b9791c`],Bu=400,Vu=620,Y={x:200,y:220},Hu=560,Uu=376/Nu.length,Wu={none:`#2a170c`,small:`#1d3561`,big:`#7d1c24`,jackpot:`#c79a3e`},Gu=72,Ku=Math.sqrt(177**2-(Y.y-Gu)**2)-4,qu=e=>Math.max(Y.x-Ku,Math.min(Y.x+Ku,e)),Ju={blue:[`#8cc8ff`,`#2f7fe6`,`#163f8c`],red:[`#ffa08c`,`#f0433f`,`#8c1420`],violet:[`#ffc4f4`,`#e04fd0`,`#7a1f8c`]},Yu={blue:7.2,red:7.2,violet:9},Xu=class extends z{constructor(...e){super(...e),this.options={},this.state=`idle`,this.chosen=``,this.redHits=0,this.fever=!1,this.violetHit=!1,this.boost=1,this.colorful=!1,this.dropX=Y.x,this.pegs=[],this.guide=[],this.avoid=[],this.board=null,this.ball=null,this.trail=[],this.target=0,this.tier=`none`,this.wins=!1,this.landed=null,this.raf=0,this.previous=performance.now(),this.time=0,this.stillSince=0,this.slowMotionUntil=0,this.zoom=1,this.camera={x:Y.x,y:Y.y},this.lastFirework=0,this.pending=[],this.frame=e=>{let t=Math.min(.033,(e-this.previous)/1e3);this.previous=e,this.time+=t;let{time:n}=this;if(this.ball){let e=this.colorful&&this.redHits===7?this.pegs.find(e=>e.color===`red`&&!e.lit):void 0,r=e&&Math.hypot(this.ball.x-e.x,this.ball.y-e.y)<65;r&&(this.camera={x:e.x,y:e.y}),this.physics(t*(!P()&&(r||n<this.slowMotionUntil)?.24:1)),this.ball&&(this.trail=[...this.trail,{x:this.ball.x,y:this.ball.y}].slice(this.fever?-40:-8));let i=!P()&&(r||n<this.slowMotionUntil);this.zoom+=((i?2.4:1)-this.zoom)*Math.min(1,t*(i?5:2.5))}else this.zoom+=(1-this.zoom)*Math.min(1,t*2.5);if(this.fever&&!P()&&n-this.lastFirework>.3){this.lastFirework=n;let e=this.canvas.getBoundingClientRect();I.burst(e.left+T(0,e.width),e.top+T(0,e.height*.7),{count:20,colors:Ru,type:`spark`,speed:420,life:.9})}let r=this.canvas?.getContext(`2d`);if(r){let e=Math.min(2,devicePixelRatio);r.setTransform(e,0,0,e,0,0),r.clearRect(0,0,Bu,Vu),this.zoom>1.001&&(r.translate(this.camera.x,this.camera.y),r.scale(this.zoom,this.zoom),r.translate(-this.camera.x,-this.camera.y)),this.drawBoard(r),this.drawBall(r)}this.raf=requestAnimationFrame(this.frame)},this.keydown=e=>{let t=e.composedPath()[0];this.state!==`idle`||e.repeat||t instanceof HTMLElement&&t.closest(`input, select, textarea, [role=dialog] input`)||((e.code===`ArrowLeft`||e.code===`ArrowRight`)&&(e.preventDefault(),this.dropX=qu(this.dropX+(e.code===`ArrowLeft`?-10:10))),e.code===`Space`&&!(t instanceof HTMLButtonElement)&&(e.preventDefault(),this.drop()))}}get pockets(){let{bonus:e}=this.options;if(this.colorful)return ju(this.redHits,this.room.board);let t=ku(this.room.board);return e?t.map(t=>t.tier===e.tier?{tier:t.tier,award:e.award}:t):t}willUpdate(e){if(this.hasUpdated)e.has(`room`)&&!this.room.prizeIds.includes(this.chosen)&&(this.chosen=this.room.prizeIds[0]);else{let{bonus:e}=this.options;this.boost=e?1:M(`pachinko`),this.colorful=this.boost>1&&!e,this.chosen=e?.prizeId??this.room.prizeIds[0],this.buildPegs(),this.colorPegs()}}buildPegs(){let e=this.colorful?{rows:10,top:112,rowStep:44,step:50,reach:4}:{rows:16,top:92,rowStep:29,step:28,reach:6};for(let t=0;t<e.rows;t++){let n=e.top+t*e.rowStep;if(n>535)break;for(let r=(t%2?.5-e.reach:-e.reach)*e.step;r<=e.reach*e.step;r+=e.step){let e=Y.x+r;e<24||e>376||Math.hypot(e-Y.x,n-Y.y)>164&&n<Y.y||this.pegs.push({x:e,y:n,hit:-1})}}for(let e=1;e<Nu.length;e++)this.pegs.push({x:12+e*Uu,y:556,hit:-1,divider:!0})}colorPegs(){for(let e of this.pegs)e.hit=-1,e.lit=!1,e.color=void 0;if(!this.colorful)return;let e=this.pegs.filter(e=>!e.divider),t=j(`pachinko.board`,{pegs:e},()=>{let[t,n]=Pu,r=D(e.filter(e=>e.y>=t&&e.y<=n))[0];return{violet:r,reds:D(e.filter(e=>e!==r)).slice(0,8)}});this.board=t,e.forEach(e=>e.color=`blue`),t.reds.forEach(e=>e.color=`red`),t.violet.color=`violet`}drawBoard(e){let{colorful:t,time:n,dropX:r}=this,i=e.createLinearGradient(0,0,0,Vu);i.addColorStop(0,t?`#102941`:`#4a2614`),i.addColorStop(1,t?`#080e1c`:`#22100a`),e.fillStyle=i,e.beginPath(),e.moveTo(4,616),e.lineTo(4,Y.y),e.arc(Y.x,Y.y,196,Math.PI,0),e.lineTo(396,616),e.closePath(),e.fill(),e.strokeStyle=`rgb(243 212 136 / 0.14)`,e.lineWidth=.6;for(let n=0;n<(t?0:24);n++)e.beginPath(),e.ellipse(Y.x,380,170,46,n*Math.PI/24,0,Math.PI*2),e.stroke();e.strokeStyle=`#d4a94e`,e.lineWidth=3,e.beginPath(),e.arc(Y.x,Y.y,190,Math.PI,0),e.stroke();for(let t=0;t<30;t++){let r=t/29*Math.PI,i=this.state===`spinning`?(Math.floor(n*18)-t)%6==0:(Math.floor(n*1.6)+t)%2==0;e.fillStyle=i?`#ffe3a0`:`#4a3a1e`,e.shadowColor=`#ffcf7a`,e.shadowBlur=i?10:0,e.beginPath(),e.arc(Y.x+Math.cos(Math.PI-r)*198,Y.y-Math.sin(r)*198,3.2,0,Math.PI*2),e.fill()}e.shadowBlur=0,e.strokeStyle=`rgb(226 189 99 / 0.55)`,e.lineWidth=2,e.beginPath(),e.moveTo(Y.x-Ku,61),e.lineTo(Y.x+Ku,61),e.stroke(),this.state===`idle`&&!this.ball&&(e.setLineDash([3,5]),e.strokeStyle=`rgb(255 227 160 / 0.45)`,e.lineWidth=1.2,e.beginPath(),e.moveTo(r,80),e.lineTo(r,132),e.stroke(),e.setLineDash([]),e.fillStyle=`#d4a94e`,e.beginPath(),e.roundRect(r-9,57,18,8,3),e.fill(),e.globalAlpha=.55+.35*Math.sin(n*4),this.drawSphere(e,r,Gu),e.globalAlpha=1),this.pockets.forEach((t,n)=>{let r=12+n*Uu,i=e.createLinearGradient(0,Hu,0,610);i.addColorStop(0,Wu[t.tier]),i.addColorStop(1,`#120a05`),e.fillStyle=i,e.globalAlpha=this.landed===n?1:.85,e.beginPath(),e.roundRect(r+2,Hu,Uu-4,46,8),e.fill(),e.globalAlpha=1,this.landed===n&&(e.strokeStyle=`#fff4d6`,e.lineWidth=2,e.stroke()),e.fillStyle=t.tier===`jackpot`?`#2a1a05`:`#f6e2a6`,e.font=t.tier!==`none`&&t.award===null?`700 14px sans-serif`:`700 10px ui-monospace, Menlo, monospace`,e.textAlign=`center`,e.fillText(t.tier===`none`?`—`:this.room.award(t.tier,t.award),r+Uu/2,590)});for(let r of this.pegs){if(t&&r.divider)continue;let i=r.hit>=0?Math.max(0,1-(n-r.hit)/.35):0;if(i>0&&(e.fillStyle=`rgba(255, 214, 130, ${i*.6})`,e.beginPath(),e.arc(r.x,r.y,4+i*9,0,Math.PI*2),e.fill()),t&&!r.divider){this.drawOrb(e,r.x,r.y,r.color,r.lit===!0,i);continue}let a=e.createRadialGradient(r.x-1.4,r.y-1.4,.5,r.x,r.y,4.6);a.addColorStop(0,`#ffffff`),a.addColorStop(.5,i>0?`#fff4d6`:`#d4a94e`),a.addColorStop(1,`#4b3a1c`),e.fillStyle=a,e.beginPath(),e.arc(r.x,r.y,r.divider?4:3.6,0,Math.PI*2),e.fill()}}drawOrb(e,t,n,r,i,a){let o=r===`violet`&&!i&&!P()?1+.08*Math.sin(this.time*5):1,s=Yu[r]*o*(1+a*.25),[c,l,u]=Ju[r];(i||r===`violet`)&&(e.fillStyle=i?`rgb(255 248 220 / 0.35)`:`rgb(240 120 230 / 0.35)`,e.beginPath(),e.arc(t,n,s+4+a*4,0,Math.PI*2),e.fill());let d=e.createLinearGradient(t,n-s,t,n+s);d.addColorStop(0,i?`#ffffff`:c),d.addColorStop(.45,i?c:l),d.addColorStop(1,i?l:u),e.fillStyle=d,e.beginPath(),e.arc(t,n,s,0,Math.PI*2),e.fill(),e.strokeStyle=`#f1cf72`,e.lineWidth=1.8,e.stroke(),e.strokeStyle=`#5a3a0c`,e.lineWidth=.8,e.beginPath(),e.arc(t,n,s+1.3,0,Math.PI*2),e.stroke(),e.fillStyle=`rgb(255 255 255 / 0.85)`,e.beginPath(),e.ellipse(t-s*.12,n-s*.5,s*.6,s*.28,-.15,0,Math.PI*2),e.fill(),r===`violet`&&(e.fillStyle=`#ffffff`,e.strokeStyle=u,e.lineWidth=2.4,e.font=`900 13px sans-serif`,e.textAlign=`center`,e.textBaseline=`middle`,e.strokeText(`+`,t,n+1),e.fillText(`+`,t,n+1),e.textBaseline=`alphabetic`)}drawSphere(e,t,n){let r=e.createRadialGradient(t-2.2,n-2.4,.6,t,n,7);r.addColorStop(0,`#ffffff`),r.addColorStop(.5,`#ece6d8`),r.addColorStop(1,`#6d6250`),e.fillStyle=r,e.beginPath(),e.arc(t,n,6.5,0,Math.PI*2),e.fill()}drawBall(e){let{ball:t,trail:n}=this;t&&(this.fever?(e.save(),e.shadowColor=`#ffcf5a`,e.shadowBlur=14,n.forEach((t,r)=>{let i=r/n.length;e.globalAlpha=i*.9,e.fillStyle=zu[Math.floor((1-i)*(zu.length-1))],e.beginPath(),e.arc(t.x,t.y,2+6*i,0,Math.PI*2),e.fill(),r%4==0&&(e.fillStyle=`#ffffff`,e.beginPath(),e.arc(t.x+T(-5,5),t.y+T(-5,5),T(.6,1.6),0,Math.PI*2),e.fill())}),e.restore()):(n.forEach((t,r)=>{e.fillStyle=`#ffecc8`,e.globalAlpha=r/n.length*.25,e.beginPath(),e.arc(t.x,t.y,6.5*(r/n.length),0,Math.PI*2),e.fill()}),e.globalAlpha=1),this.drawSphere(e,t.x,t.y))}physics(e){let{ball:t,colorful:n}=this;if(!t)return;let r=(t.x-12)/Uu-.5;if(!n&&this.target<0&&t.y>330&&(this.target=j(`pachinko.pocket`,{near:r},()=>Au(this.tier,r))),n&&t.y<530){let e=Nu.flatMap((e,t)=>e!==`none`===this.wins?[t]:[]);this.target=j(`pachinko.pocket`,{near:r},()=>e.sort((e,t)=>Math.abs(e-r)-Math.abs(t-r))[0])}let i=12+(this.target+.5)*Uu,a=e/4,o=this.guide[0];o&&(o.lit||t.y>o.y+10||this.stillSince&&this.time-this.stillSince>1)&&(this.guide=this.guide.slice(1));let s=this.guide[0];for(let e=0;e<4;e++){if(t.vy+=(n?1150:1500)*a,s&&t.y<s.y-4){let e=(Yu[s.color]+6.5)/2,n=s.x+(t.x<s.x?-e:e),r=s.y-Yu[s.color]-6.5-t.y,i=(-t.vy+Math.sqrt(Math.max(0,t.vy**2+2300*r)))/1150;i>.02&&(t.vx=Math.max(-600,Math.min(600,(n-t.x)/i)))}else n?t.vx+=Math.max(-220,Math.min(220,(i-t.x)*(t.y>470?9:3)))*a:this.target>=0&&(t.vx+=Math.max(-320,Math.min(320,(i-t.x)*(t.y>440?16:5)))*a);for(let e of this.avoid){let n=t.x-e.x;e.y-t.y>-6&&e.y-t.y<90&&Math.abs(n)<30&&(t.vx+=Math.sign(n||1)*2600*a)}if(t.x+=t.vx*a,t.y+=t.vy*a,t.y<Y.y){let e=t.x-Y.x,n=t.y-Y.y,r=Math.hypot(e,n);if(r>177){let i=e/r,a=n/r;t.x=Y.x+i*177,t.y=Y.y+a*177;let o=t.vx*i+t.vy*a;o>0&&(t.vx-=1.5*o*i,t.vy-=1.5*o*a)}}t.x<18&&Object.assign(t,{x:18,vx:Math.abs(t.vx)*.5}),t.x>382&&Object.assign(t,{x:382,vx:-Math.abs(t.vx)*.5});for(let e of this.pegs){if(t.y>540&&e.divider)continue;let r=t.x-e.x,i=t.y-e.y,a=Math.hypot(r,i),o=6.5+(e.divider?4:n?Yu[e.color]:3.6);if(a>=o||a===0)continue;let s=r/a,c=i/a;t.x=e.x+s*o,t.y=e.y+c*o;let l=t.vx*s+t.vy*c;if(l<0){let r=n&&!e.divider?1.78:1.62;t.vx-=r*l*s,t.vy-=r*l*c;let i=n?T(-6,6):T(-38,38);if(t.vx+=-c*i,t.vy+=s*i,this.time-e.hit>.08&&U.play(`bounce`,.8+t.y/Vu*.6,.5),n&&!e.divider&&!e.lit){if(e.lit=!0,e.color===`red`&&(this.redHits++,this.redHits===8&&this.startFever()),e.color===`violet`){let e=Mu(this.boost,!1);!this.wins&&e<1&&(this.wins=j(`pachinko.wins`,{boost:this.boost,violet:!0},()=>Math.random()<(Mu(this.boost,!0)-e)/(1-e))),this.violetHit=!0}e.color!==`blue`&&U.play(`chime`,e.color===`violet`?1.8:1+this.redHits*.08)}e.hit=this.time}}if(t.y>Hu){let e=12+this.target*Uu+8,n=12+(this.target+1)*Uu-8;if(t.x=Math.max(e,Math.min(n,t.x)),t.y>590)return this.land()}}Math.hypot(t.vx,t.vy)<30?(this.stillSince||=this.time,this.time-this.stillSince>.8&&Object.assign(t,{vx:t.vx+T(-80,80),vy:t.vy-60})):this.stillSince=0}startFever(){if(this.fever||(this.fever=!0,this.slowMotionUntil=this.time+1.5,U.play(`jackpot`),P()))return;let e=this.canvas.getBoundingClientRect();I.burst(e.left+e.width/2,e.top+e.height/3,{count:110,colors:Ru,speed:800,life:2.3})}land(){if(!this.ball)return;this.ball.y=590,this.landed=this.target;let e=this.pockets[this.target];if(U.play(`stop`),e.tier===`none`){this.ball=null,this.colorful?this.pending.push(this.later(()=>{this.colorPegs(),this.state=`idle`},P()?0:600)):this.state=`idle`,this.fever&&this.pending.push(this.later(()=>this.fever=!1,3e3));return}this.colorful&&e.tier===`jackpot`&&this.startFever(),U.play(`chime`,e.tier===`jackpot`?1.5:1.1);let t=this.canvas.getBoundingClientRect();I.burst(t.left+(12+(this.target+.5)*Uu)*t.width/Bu,t.top+Hu*t.height/Vu,{count:30,type:`spark`,speed:520,spread:1.6,life:.7,gravity:600,colors:Ts}),this.state=`won`,this.ball=null;let{bonus:n}=this.options,r={game:n?`wheel`:`pachinko`,tier:e.tier,prizeId:this.chosen,award:e.award,detail:{key:n?`detail.wheel.pachinko`:this.colorful?`pachinko.detail`:`detail.pachinko`}};this.pending.push(this.later(()=>this.room.finish(r),P()?300:this.fever?3800:2e3))}aim(e){if(this.state!==`idle`)return;let t=this.canvas.getBoundingClientRect();this.dropX=qu((e.clientX-t.left)*Bu/t.width)}drop(){if(this.state!==`idle`)return;this.pending.forEach(clearTimeout),this.pending=[];let{bonus:e}=this.options;this.tier=e?.tier??(this.colorful?`none`:ps(`pachinko`,this.boost)),this.redHits=0,this.fever=!1,this.slowMotionUntil=0,this.violetHit=!1,this.wins=j(`pachinko.wins`,{boost:this.boost,violet:!1},()=>Math.random()<Mu(this.boost,!1)),{through:this.guide,avoid:this.avoid}=this.colorful&&this.board?j(`pachinko.route`,this.board,()=>({through:[],avoid:[]})):{through:[],avoid:[]},this.target=-1,this.landed=null,this.state=`spinning`,U.play(`whoosh`),this.ball={x:this.dropX,y:Gu,vx:this.colorful?T(-70,70):T(-15,15),vy:90},this.trail=[],P()&&!this.colorful&&(this.target=Au(this.tier,(this.dropX-12)/Uu-.5),this.land())}firstUpdated(){let e=Math.min(2,devicePixelRatio);this.canvas.width=Bu*e,this.canvas.height=Vu*e,this.canvas.getContext(`2d`).setTransform(e,0,0,e,0,0),this.raf=requestAnimationFrame(this.frame)}connectedCallback(){super.connectedCallback(),addEventListener(`keydown`,this.keydown),this.hasUpdated&&(this.raf=requestAnimationFrame(this.frame))}disconnectedCallback(){super.disconnectedCallback(),cancelAnimationFrame(this.raf),removeEventListener(`keydown`,this.keydown)}render(){let{bonus:e}=this.options,{colorful:t,boost:n,state:r}=this,i=e?this.t(`games.pachinko.bonusRules`,{prize:this.room.name(e.prizeId)}):this.t(t?`pachinko.colorRules`:`games.pachinko.rules`),a=Math.round(Mu(n,this.violetHit)*1e3)/10;return Js(this.room.t,{state:r,rules:i,multiplier:n},h`
|
|
558
558
|
<div class="lk-pachinko ${t?`lk-pachinko--color`:``}">
|
|
559
559
|
${t?h`<div class="lk-peg-score" aria-live="polite">
|
|
560
|
-
<span class="lk-peg-red">${V(
|
|
561
|
-
<span class="lk-peg-power ${this.violetHit?`is-active`:``}">${V(
|
|
560
|
+
<span class="lk-peg-red">${V(eo)}<b>${this.redHits} / ${8}</b> <small>${this.t(`pachinko.redHits`)}</small></span>
|
|
561
|
+
<span class="lk-peg-power ${this.violetHit?`is-active`:``}">${V(ma)}<b>${n}× → ${n*n}×</b><small>${this.t(this.violetHit?`pachinko.powerOn`:`pachinko.powerOff`)}</small></span>
|
|
562
562
|
<span><b>${a}%</b><small>${this.t(`pachinko.chance`)}</small></span>
|
|
563
563
|
</div>`:_}
|
|
564
564
|
<div class="lk-pachinko-cab ${this.fever?`is-fever`:``}">
|
|
@@ -567,15 +567,15 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
567
567
|
</div>
|
|
568
568
|
<div class="lk-pachinko-controls">
|
|
569
569
|
<fl-chips .chosen=${this.chosen} ?disabled=${r!==`idle`||!!e} @choose=${e=>this.chosen=e.detail}></fl-chips>
|
|
570
|
-
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${r!==`idle`} @click=${this.drop}>${V(
|
|
570
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${r!==`idle`} @click=${this.drop}>${V(Ji)}${this.t(`pachinko.launch`)}</button>
|
|
571
571
|
</div>
|
|
572
572
|
<div class="lk-hint">${this.t(`pachinko.hint`)}</div>
|
|
573
573
|
</div>
|
|
574
|
-
`)}},L([b({attribute:!1})],
|
|
574
|
+
`)}},L([b({attribute:!1})],Xu.prototype,`options`,void 0),L([x()],Xu.prototype,`state`,void 0),L([x()],Xu.prototype,`chosen`,void 0),L([x()],Xu.prototype,`redHits`,void 0),L([x()],Xu.prototype,`fever`,void 0),L([x()],Xu.prototype,`violetHit`,void 0),L([S(`canvas`)],Xu.prototype,`canvas`,void 0),Xu=L([y(`fl-pachinko`)],Xu)}));function Qu(e,t,n=E(t),r=null){let i=e===`none`?null:n,a=D(O(1,50)).map(String),o=D(t.filter(e=>e!==i).flatMap(e=>[e,e])),s=i?3:6,c=o.slice(0,_o(Math.min(1,o.length),Math.min(s-1,o.length))),l=[...c,...a.slice(0,s-c.length)];return{prizeId:n,cells:D(i?[i,i,i,...l]:l),winning:i,award:r}}function $u(e,t,n,r,i){let a=D(n.flatMap(e=>i&&e===r?[]:[e,e])),o=i?[r,r,r,...a.slice(0,t-3)]:a.slice(0,t),s=D(e.filter(e=>!e.hit));o.forEach((e,t)=>Object.assign(s[t],{value:e,prize:null,hit:i&&e===r}))}function ed(e,t,n,r){let i=D(t),a=D(n),o=r===`match`?i.find(e=>e.hit):void 0,s=[...e.flatMap((e,t)=>e===o?.value?[`w${t}`]:[]),...i.flatMap((e,t)=>e.hit?[`y${t}`]:[]),...a.flatMap((e,t)=>e.hit?[`s${t}`]:[])];return{winningNumbers:e,yours:i.map(({value:e,prize:t})=>({value:e,prize:t})),second:a.map(({prize:e})=>e),hit:s,how:r}}function td(e,t,n,r){let i=D(O(1,50)),a=i.slice(0,5),o=e===`none`?null:e===`jackpot`?`logos`:Math.random()<.5?`match`:`three`,s=o===`match`||o===`three`?ad(e,n,r):null,c=D(rd(t).filter(e=>!s||id(e)!==id(s)).flatMap(e=>[e,e])),l=o===`three`?3:+(o===`match`),u=[...Array(l).fill(s),...O(0,11-l).map(e=>c[e]??null)].map((e,t)=>({value:i[5+t],prize:e,hit:t<l}));return o===`match`&&(u[0].value=E(a)),$u(u,o===`logos`?3:_o(1,2),t.map(e=>e.id),n,o===`logos`),ed(a,u,[],o)}function nd(e,t,n,r){let i=D(O(1,50)),a=i.slice(0,4),o=e===`none`?null:e===`jackpot`?`logos`:Math.random()<.5?`match`:`pair`,s=rd(t),c=ad(e,n,r),l=O(0,14).map(e=>({value:i[4+e],prize:E(s),hit:!1}));o===`match`&&(l[0]={value:E(a),prize:c,hit:!0}),$u(l,o===`logos`?4:_o(1,3),t.map(e=>e.id),n,o===`logos`);let u=D(s.filter(e=>o!==`pair`||id(e)!==id(c))).map(e=>({prize:e})),d=o===`pair`?[{prize:c,hit:!0},{prize:c,hit:!0},...u.slice(0,3)]:u.slice(0,5);return ed(a,l,[...d,...O(d.length,4).map(()=>({prize:null}))],o)}var rd,id,ad,od=n((()=>{A(),k(),rd=e=>e.flatMap(e=>[`small`,`big`].flatMap(t=>{let n=[...new Set(wo(e,t).map(To))];return(n.length?n:[null]).map(n=>({prizeId:e.id,tier:t,award:n}))})),id=e=>`${e.prizeId} ${Do(e.tier,e.award)}`,ad=(e,t,n)=>({prizeId:t,tier:e===`big`?`big`:`small`,award:n})}));function sd(e){return{coin:ld(60,60,`
|
|
575
575
|
<defs><radialGradient id="g" cx=".35" cy=".3" r=".85"><stop offset="0" stop-color="#fff7cc"/><stop offset=".45" stop-color="#f4c542"/><stop offset="1" stop-color="#a86e0e"/></radialGradient></defs>
|
|
576
576
|
<circle cx="30" cy="30" r="28.5" fill="url(#g)" stroke="#7a4f08" stroke-width="2"/>
|
|
577
577
|
<circle cx="30" cy="30" r="22" fill="none" stroke="#b07a14" stroke-width="1.4" stroke-dasharray="2.2 2.4"/>
|
|
578
|
-
<text x="30" y="41" text-anchor="middle" font-family="Georgia, serif" font-weight="700" font-size="30" fill="#9a6410" stroke="#fff2b8" stroke-width=".7">₤</text>`),bundle:
|
|
578
|
+
<text x="30" y="41" text-anchor="middle" font-family="Georgia, serif" font-weight="700" font-size="30" fill="#9a6410" stroke="#fff2b8" stroke-width=".7">₤</text>`),bundle:ld(84,72,`
|
|
579
579
|
<rect width="84" height="72" rx="9" fill="#a7e0f6"/>
|
|
580
580
|
<g stroke="#1d5e2b" stroke-width="1">
|
|
581
581
|
<rect x="15" y="7" width="54" height="31" rx="3" fill="#2f8a43" transform="rotate(-9 42 24)"/>
|
|
@@ -586,17 +586,17 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
586
586
|
<ellipse cx="29" cy="24.5" rx="6" ry="7" fill="#a5e0ad" stroke="#2f7f3b" stroke-width=".8"/>
|
|
587
587
|
<rect x="44" y="8" width="9" height="33" fill="#f6e8c3" stroke="#b08a3a" stroke-width=".6"/>
|
|
588
588
|
<path d="M6 46h72l-5 9 5 9H6l5-9z" fill="#d7262b" stroke="#8e1414" stroke-width="1"/>
|
|
589
|
-
<text x="42" y="59" text-anchor="middle" font-family="'Arial Black', Arial, sans-serif" font-weight="900" font-size="10.5" letter-spacing=".5" fill="#fff">${
|
|
589
|
+
<text x="42" y="59" text-anchor="middle" font-family="'Arial Black', Arial, sans-serif" font-weight="900" font-size="10.5" letter-spacing=".5" fill="#fff">${ud(e)}</text>`),boat:ld(60,56,`
|
|
590
590
|
<rect width="60" height="56" rx="10" fill="#c4ecfc"/>
|
|
591
591
|
<path d="M0 42q7.5-4 15 0t15 0t15 0t15 0v14H0z" fill="#2aa3d6"/>
|
|
592
592
|
<path d="M31 6v32" stroke="#5b4a3a" stroke-width="1.6"/>
|
|
593
593
|
<path d="M30 8v28H12z" fill="#fff" stroke="#9fb7c8" stroke-width=".8"/>
|
|
594
594
|
<path d="M32.5 12v24h13z" fill="#ef4b3c"/>
|
|
595
595
|
<path d="M9 38.5h42l-6 7H15z" fill="#c8321f"/>
|
|
596
|
-
<path d="M2 49q7.5-3 15 0t15 0t15 0t13 0" fill="none" stroke="#fff" stroke-opacity=".7" stroke-width="1.2"/>`),flipflop:
|
|
596
|
+
<path d="M2 49q7.5-3 15 0t15 0t15 0t13 0" fill="none" stroke="#fff" stroke-opacity=".7" stroke-width="1.2"/>`),flipflop:ld(64,46,`
|
|
597
597
|
<rect width="64" height="46" rx="8" fill="#f3dcab"/>
|
|
598
|
-
${
|
|
599
|
-
${
|
|
598
|
+
${dd(21,-12,`#ff7a59`,`#c4502f`,`#2b8fd6`)}
|
|
599
|
+
${dd(43,10,`#3cbcae`,`#22857b`,`#ffd23f`)}`),beach:ld(370,168,`
|
|
600
600
|
<defs>
|
|
601
601
|
<linearGradient id="sand" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#f7e3b4"/><stop offset="1" stop-color="#e6c180"/></linearGradient>
|
|
602
602
|
<linearGradient id="sea" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#1c8fc4"/><stop offset="1" stop-color="#53c6ea"/></linearGradient>
|
|
@@ -623,12 +623,12 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
623
623
|
</g>
|
|
624
624
|
<path d="M268 112l5 12 13 1-10 8 4 13-12-7-11 7 4-13-10-8 13-1z" fill="#ff8a3d" stroke="#d1601c" stroke-width="1.2" stroke-linejoin="round"/>
|
|
625
625
|
<g transform="translate(110 150) rotate(-15)"><path d="M0 0q8-14 16 0z" fill="#f6c6b4" stroke="#c98a76"/><path d="M8 0v-8M4 0l2-7M12 0l-2-7" stroke="#c98a76" stroke-width=".8"/></g>
|
|
626
|
-
<g transform="translate(318 128)"><circle cx="0" cy="0" r="7" fill="#20303f" stroke="#111"/><circle cx="17" cy="0" r="7" fill="#20303f" stroke="#111"/><path d="M7 -1h3" stroke="#111" stroke-width="2"/></g>`)}}async function
|
|
626
|
+
<g transform="translate(318 128)"><circle cx="0" cy="0" r="7" fill="#20303f" stroke="#111"/><circle cx="17" cy="0" r="7" fill="#20303f" stroke="#111"/><path d="M7 -1h3" stroke="#111" stroke-width="2"/></g>`)}}async function cd(e){let t=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,Object.assign(new Image,{src:t})]));return await Promise.all(Object.values(t).map(e=>e.decode())),t}var ld,ud,dd,fd=n((()=>{ld=(e,t,n)=>`data:image/svg+xml,${encodeURIComponent(`<svg xmlns="http://www.w3.org/2000/svg" width="${e}" height="${t}" viewBox="0 0 ${e} ${t}" preserveAspectRatio="none">${n}</svg>`)}`,ud=e=>e.replace(/[&<>"]/g,e=>`&#${e.charCodeAt(0)};`),dd=(e,t,n,r,i)=>`
|
|
627
627
|
<g transform="rotate(${t} ${e} 23)">
|
|
628
628
|
<path d="M${e} 4c7 0 9 7 8 15c-1 9-2 16-8 23c-6-7-8-14-8-23c-1-8 1-15 8-15z" fill="${n}" stroke="${r}" stroke-width="1.2"/>
|
|
629
629
|
<path d="M${e-7} 20L${e} 10L${e+7} 20" fill="none" stroke="${i}" stroke-width="2.8" stroke-linecap="round" stroke-linejoin="round"/>
|
|
630
630
|
<circle cx="${e}" cy="10" r="1.8" fill="${i}"/>
|
|
631
|
-
</g>`}));function
|
|
631
|
+
</g>`}));function pd(e,t,n,r){let{t:i}=e,a=e=>n&&t.hit.includes(e)?`is-match`:``;return h`
|
|
632
632
|
<div class="lk-td-head">
|
|
633
633
|
<h3 aria-label=${`${i(`scratch.double.first`)} ${i(`scratch.double.second`)}`}>
|
|
634
634
|
<span>${i(`scratch.double.first`)}</span>
|
|
@@ -678,7 +678,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
678
678
|
<strong>${i(`scratch.topPrize`)}</strong>
|
|
679
679
|
<span>N. ${r}</span>
|
|
680
680
|
</div>
|
|
681
|
-
`}var
|
|
681
|
+
`}var md=n((()=>{v()}));function hd(e,t,n,r){let{t:i}=e,a=e=>n&&t.hit.includes(e)?`is-match`:``,o=t=>h`<img src=${e.icon(t.prizeId)} alt=${e.name(t.prizeId)} />${e.award(t.tier,t.award)}`;return h`
|
|
682
682
|
<div class="lk-tf-head">
|
|
683
683
|
<h3><span>${i(`scratch.forever.first`)}</span><i>${i(`scratch.forever.middle`)}</i><span>${i(`scratch.forever.second`)}</span></h3>
|
|
684
684
|
</div>
|
|
@@ -721,9 +721,9 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
721
721
|
</div>
|
|
722
722
|
</section>
|
|
723
723
|
<div class="lk-tf-foot"><span>N. ${r}</span></div>
|
|
724
|
-
`}var
|
|
724
|
+
`}var gd=n((()=>{v()})),_d,vd,yd,bd=n((()=>{v(),C(),Di(),w(),A(),k(),Po(),od(),N(),B(),Es(),H(),F(),W(),Zs(),fd(),md(),gd(),R(),_d=Cs(210,300,.85),vd=()=>Math.random().toString(16).slice(2,11).toUpperCase(),yd=class extends z{constructor(...e){super(...e),this.options={},this.boost=M(`scratch`),this.kind=this.boost>1?gs():`classic`,this.tier=ps(`scratch`,this.boost),this.serial=vd(),this.revealed=new Set,this.state=`idle`,this.last=null,this.strokes=0}print(e){let{prizeIds:t}=this.room,n=ms(`scratch`,t),r=j(`scratch.award`,{tier:e,prizeId:n},()=>bo(this.room.prize(n),e));return this.kind===`classic`?{kind:`classic`,...Qu(e,t,n,r)}:{kind:this.kind,prizeId:n,award:r,...(this.kind===`double`?td:nd)(e,this.room.prizes,n,r)}}willUpdate(){this.card??=this.print(this.tier)}get spots(){let e=this.card;return e.kind===`classic`?[...e.cells.map((e,t)=>String(t)),...e.winning?[`award`]:[]]:[...e.winningNumbers.map((e,t)=>`w${t}`),...e.yours.map((e,t)=>`y${t}`),...e.second.map((e,t)=>`s${t}`)]}get done(){return this.revealed.size===this.spots.length}inLine(e){return this.card.kind===`classic`&&e===this.card.winning}get hit(){let e=this.card;return e.kind===`classic`?e.winning?e.cells.flatMap((e,t)=>this.inLine(e)?[String(t)]:[]):[]:e.hit}get matched(){let{hit:e}=this;return e.length>0&&e.every(e=>this.revealed.has(e))}paint(e){let t=e.parentElement.offsetWidth,n=e.parentElement.offsetHeight,r=Math.min(2,devicePixelRatio);e.width=t*r,e.height=n*r;let i=e.getContext(`2d`);i.globalCompositeOperation=`source-over`,i.setTransform(r,0,0,r,0,0);let a=e.dataset.cover;if(a&&this.covers){let r=e.parentElement,o=r.offsetParent;return a===`beach`?i.drawImage(this.covers.beach,-r.offsetLeft,-r.offsetTop,o.clientWidth,o.clientHeight):i.drawImage(this.covers[a],0,0,t,n),this.ready(e)}let o=i.createLinearGradient(0,0,t,n),s=[`#e9edf1`,`#a8b0bb`,`#f4f6f9`,`#8d96a3`,`#d7dce3`];[0,.35,.5,.7,1].forEach((e,t)=>o.addColorStop(e,s[t])),i.fillStyle=o,i.beginPath(),i.roundRect(0,0,t,n,14),i.fill();for(let e=0;e<t*n*.08;e++)i.fillStyle=`rgba(${Math.random()<.5?`255,255,255`:`40,46,56`},${T(.04,.12)})`,i.fillRect(T(0,t),T(0,n),1,1);i.save(),i.globalAlpha=.14,i.fillStyle=`#2b323c`,i.font=`800 10px ui-monospace, Menlo, monospace`,i.rotate(-.35);let c=this.t(`scratch.watermark`);for(let e=-20;e<n+60;e+=16)for(let n=-60;n<t+40;n+=76)i.fillText(c,n+(e%32?38:0),e);i.restore(),this.ready(e)}ready(e){e.style.opacity=`1`,e.style.pointerEvents=``,e.dataset.clear=String(this.cleared(e)),e.getContext(`2d`).globalCompositeOperation=`destination-out`}cleared(e){let{data:t}=e.getContext(`2d`).getImageData(0,0,e.width,e.height),n=0,r=0;for(let e=3;e<t.length;e+=96)r++,t[e]<40&&n++;return n/r}scratched(e){let t=Number(e.dataset.clear??0);return(this.cleared(e)-t)/(1-t)}reveal(e){let t=e.dataset.spot;this.revealed.has(t)||t===`award`&&!this.matched||(this.revealed=new Set([...this.revealed,t]),e.animate([{opacity:1},{opacity:0}],{duration:P()?1:380,fill:`forwards`}),e.style.pointerEvents=`none`,U.play(`tick`,1.4),this.matched&&t!==`award`&&U.play(`chime`),this.done&&this.finish())}finish(){if(!this.hit.length){this.state=`idle`;return}this.state=`won`;let e=this.ticket.getBoundingClientRect();I.burst(e.left+e.width/2,e.top+e.height/2,{count:50,speed:600});let t=this.card,n=t.kind===`classic`?this.tier:t.how,r={game:`scratch`,tier:this.tier,prizeId:t.prizeId,award:t.award,detail:{key:`detail.scratch.${n}`}};this.later(()=>this.room.finish(r),P()?200:1400)}foilOf(e){let t=e.target;return t.classList.contains(`lk-foil`)?t:null}scratch(e){let t=this.foilOf(e);if(!t||e.type===`pointermove`&&!e.buttons||t.dataset.spot===`award`&&!this.matched)return;let n=t.getContext(`2d`),r=t.getBoundingClientRect(),i={x:e.clientX-r.left,y:e.clientY-r.top},a=this.last??i,o=Math.hypot(i.x-a.x,i.y-a.y),s=Math.max(1,Math.ceil(o/4));for(let e=0;e<=s;e++){let t=a.x+(i.x-a.x)*e/s,r=a.y+(i.y-a.y)*e/s;for(let e=0;e<4;e++)n.beginPath(),n.arc(t+T(-5,5),r+T(-5,5),T(5,10),0,Math.PI*2),n.fill()}o>2&&(I.burst(e.clientX,e.clientY,{count:3,type:`flake`,speed:160,angle:Math.PI/2,spread:2.4,gravity:700,life:.9,colors:[`#c9cfd8`,`#8b94a1`,`#eef1f4`]}),U.play(`scratch`,T(.9,1.2),.8)),this.last=i,++this.strokes%6==0&&this.scratched(t)>.52&&this.reveal(t)}start(e){let t=this.foilOf(e);t&&(t.setPointerCapture(e.pointerId),this.last=null,this.scratch(e))}stop(e){this.last=null;let t=this.foilOf(e);t&&this.scratched(t)>.52&&this.reveal(t)}foils(){return[...this.ticket?.querySelectorAll(`.lk-foil`)??[]]}revealAll(){let e=this.foils().filter(e=>this.spots.includes(e.dataset.spot));e.forEach((t,n)=>this.later(()=>this.reveal(t),P()?0:n*Math.min(180,2400/e.length)))}async newTicket(){this.tier=ps(`scratch`,this.boost),this.card=this.print(this.tier),this.serial=vd(),this.revealed=new Set,await this.updateComplete,this.foils().forEach(e=>{e.getAnimations().forEach(e=>e.cancel()),this.paint(e)})}async firstUpdated(){this.foils().forEach(e=>this.paint(e)),this.covers=await cd(sd(this.t(`scratch.prize`))).catch(()=>void 0),this.foils().forEach(e=>this.paint(e))}classic(e){let{room:t,matched:n}=this,r=new Date().toLocaleDateString(t.locale,{day:`2-digit`,month:`short`,year:`numeric`});return h`
|
|
725
725
|
<svg viewBox="0 0 420 560" preserveAspectRatio="xMidYMid slice" aria-hidden="true">
|
|
726
|
-
${
|
|
726
|
+
${_d.map(e=>g`<polyline points=${e} fill="none" stroke="#b08a3a" stroke-opacity="0.28" stroke-width="0.5" />`)}
|
|
727
727
|
</svg>
|
|
728
728
|
<header>${t.logo()}<b>${this.t(`scratch.title`)}</b><span>N. ${this.serial}</span></header>
|
|
729
729
|
<p class="lk-rule">${this.t(`scratch.rule`)}</p>
|
|
@@ -737,19 +737,19 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
737
737
|
<div class="lk-spot lk-spot--wide ${n?``:`is-locked`}">
|
|
738
738
|
<span>${e.winning?t.award(this.tier,e.award):`—`}<small>${this.t(`scratch.award`)}</small></span>
|
|
739
739
|
<canvas class="lk-foil" data-spot="award"></canvas>
|
|
740
|
-
${this.revealed.has(`award`)?_:h`<em class="lk-lock">${V(
|
|
740
|
+
${this.revealed.has(`award`)?_:h`<em class="lk-lock">${V(Pa)}${this.t(`scratch.locked`)}</em>`}
|
|
741
741
|
</div>
|
|
742
742
|
</div>
|
|
743
743
|
<footer><span>${this.t(`scratch.series`)}</span><span>${r}</span></footer>
|
|
744
|
-
`}render(){let e=this.card,{matched:t,done:n}=this,r=this.kind===`classic`?this.t(`games.scratch.rules`):`${this.t(`scratch.dayRules`,{n:this.boost})} ${this.t(`scratch.${this.kind}.rules`)}`,i=e.kind===`classic`?this.classic(e):e.kind===`double`?
|
|
744
|
+
`}render(){let e=this.card,{matched:t,done:n}=this,r=this.kind===`classic`?this.t(`games.scratch.rules`):`${this.t(`scratch.dayRules`,{n:this.boost})} ${this.t(`scratch.${this.kind}.rules`)}`,i=e.kind===`classic`?this.classic(e):e.kind===`double`?pd(this.room,e,t,this.serial):hd(this.room,e,t,this.serial);return Js(this.room.t,{state:this.state,rules:r,multiplier:this.boost},h`
|
|
745
745
|
<div class="lk-scratch">
|
|
746
|
-
<div class="lk-ticket lk-ticket--${e.kind}" @pointerdown=${this.start} @pointermove=${this.scratch} @pointerup=${this.stop}>${
|
|
746
|
+
<div class="lk-ticket lk-ticket--${e.kind}" @pointerdown=${this.start} @pointermove=${this.scratch} @pointerup=${this.stop}>${Ti(this.serial,i)}</div>
|
|
747
747
|
<div class="lk-controls">
|
|
748
|
-
${n&&this.state===`idle`?h`<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.newTicket}>${V(
|
|
748
|
+
${n&&this.state===`idle`?h`<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.newTicket}>${V(no)}${this.t(`scratch.newTicket`)}</button>`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${n} @click=${this.revealAll}>${V(ua)}${this.t(`scratch.revealAll`)}</button>`}
|
|
749
749
|
<div class="lk-hint">${this.t(`scratch.hint`)}</div>
|
|
750
750
|
</div>
|
|
751
751
|
</div>
|
|
752
|
-
`)}},L([b({attribute:!1})],
|
|
752
|
+
`)}},L([b({attribute:!1})],yd.prototype,`options`,void 0),L([x()],yd.prototype,`tier`,void 0),L([x()],yd.prototype,`card`,void 0),L([x()],yd.prototype,`serial`,void 0),L([x()],yd.prototype,`revealed`,void 0),L([x()],yd.prototype,`state`,void 0),L([S(`.lk-ticket`)],yd.prototype,`ticket`,void 0),yd=L([y(`fl-scratch`)],yd)}));function xd(e){let t=e.reduce((e,t)=>e+Id(t),0),n=e.filter(({rank:e})=>e===14).length;for(;t>21&&n;)t-=10,n--;return{total:t,soft:n>0}}function Sd(e){let t=_o(12,16),n=_o(Math.max(2,t-10),Math.min(10,t-2)),r=[Fd(n),Fd(t-n)];if(e===`jackpot`)return{player:D([Md(14,`spades`),Md(11,`spades`)]),dealer:r};let i;do i=e===`big`?D([Md(14),Md(E(Pd))]):[Md(_o(2,14)),Md(_o(2,14))];while(e===`big`?zd(i):Ld(i));return{player:i,dealer:r}}function Cd(e,t){return E(Ad.filter(n=>{let{total:r}=xd([...t,n]);return e===`none`?r!==21:r<=21}))}function wd(e,t,n){if(n===null)return[];let{total:r}=xd(t);return e===`none`?[Fd(_o(Math.max(17,n+1),21)-r)]:n>=18&&Math.random()<.5?[Fd(_o(17,n-1)-r)]:[Fd(_o(22-r,10))]}function Td(e){let t=new Map;e.forEach(({rank:e})=>t.set(e,(t.get(e)??0)+1));let n=[...t].sort((e,t)=>t[1]-e[1]||t[0]-e[0]),r=n.map(([e])=>e),i=n.map(([,e])=>e).join(``),a=e.every(({suit:t})=>t===e[0].suit),o=n.length===5?r[0]-r[4]===4?r[0]:r.join()===`14,5,4,3,2`?5:0:0;return{category:o&&a?o===14?9:8:i===`41`?7:i===`32`?6:a?5:o?4:i===`311`?3:i===`221`?2:+(i===`2111`),ranks:o?[o]:r,cards:e}}function Ed(e){let t=null;for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){let i=Td(e.filter((e,t)=>t!==n&&t!==r));(!t||Vd(i,t)>0)&&(t=i)}return t??Td(e)}function Dd(e){if(e===`jackpot`){let e=E(kd),t=D(O(10,14).map(t=>Md(t,e))),n=D(Ad.filter(e=>!t.some(t=>Nd(t,e))));return{player:t.slice(0,2),dealer:n.slice(2,4),board:D([...t.slice(2),...n.slice(0,2)])}}for(;;){let t=D(Ad),n={player:t.slice(0,2),dealer:t.slice(2,4),board:t.slice(4,9)},r=Vd(Ed([...n.player,...n.board]),Ed([...n.dealer,...n.board]))<0;if(e===`none`?r:Hd(Ed([...n.player,...n.board]),Ed([...n.dealer,...n.board]))===e)return n}}function Od(e){return[4,5,8,9].includes(e.category)?e.cards:e.category===0?e.cards.filter(({rank:t})=>t===e.ranks[0]).slice(0,1):e.cards.filter(({rank:t})=>e.cards.filter(e=>e.rank===t).length>1)}var kd,Ad,jd,Md,Nd,Pd,Fd,Id,Ld,Rd,zd,Bd,Vd,Hd,Ud,Wd,Gd,Kd=n((()=>{k(),kd=[`spades`,`hearts`,`diamonds`,`clubs`],Ad=kd.flatMap(e=>O(2,14).map(t=>({rank:t,suit:e}))),jd=e=>({11:`J`,12:`Q`,13:`K`,14:`A`})[e]??String(e),Md=(e,t=E(kd))=>({rank:e,suit:t}),Nd=(e,t)=>e.rank===t.rank&&e.suit===t.suit,Pd=[10,11,12,13],Fd=e=>Md(e===1||e===11?14:e===10?E(Pd):e),Id=e=>e.rank===14?11:Math.min(10,e.rank),Ld=e=>e.length===2&&xd(e).total===21,Rd=e=>e.length===2&&Id(e[0])===Id(e[1]),zd=e=>e.every(({suit:e})=>e===`spades`)&&e.some(({rank:e})=>e===14)&&e.some(({rank:e})=>e===11),Bd=[`highCard`,`pair`,`twoPair`,`trips`,`straight`,`flush`,`fullHouse`,`quads`,`straightFlush`,`royalFlush`],Vd=(e,t)=>e.category-t.category||(e.ranks.map((e,n)=>e-t.ranks[n]).find(Boolean)??0),Hd=(e,t)=>Vd(e,t)<=0?`none`:e.category===9?`jackpot`:e.category>=4?`big`:`small`,Ud=(e,t,n)=>{let r=Ed([...e,...n]),i=Ed([...t,...n]);return{mine:r,theirs:i,tier:Hd(r,i),lost:Vd(r,i)<0}},Wd={spades:`M10 1C7 5 2 8.5 2 12.5C2 15 4 16.5 6 16.5C7.4 16.5 8.5 15.9 9.1 15.1L8 19H12L10.9 15.1C11.5 15.9 12.6 16.5 14 16.5C16 16.5 18 15 18 12.5C18 8.5 13 5 10 1Z`,hearts:`M10 18C6 15 1.5 11.5 1.5 6.5C1.5 3.8 3.6 2 6 2C7.8 2 9.2 3 10 4.4C10.8 3 12.2 2 14 2C16.4 2 18.5 3.8 18.5 6.5C18.5 11.5 14 15 10 18Z`,diamonds:`M10 1L17 10L10 19L3 10Z`,clubs:`M10 1.5a4 4 0 1 1 0 8a4 4 0 1 1 0-8ZM5.5 7.8a4 4 0 1 1 0 8a4 4 0 1 1 0-8ZM14.5 7.8a4 4 0 1 1 0 8a4 4 0 1 1 0-8ZM9 11.5h2l1.3 7.5h-4.6Z`},Gd=e=>e.suit===`hearts`||e.suit===`diamonds`})),qd,Jd=n((()=>{v(),C(),B(),R(),qd=class extends z{constructor(...e){super(...e),this.chosen=``,this.disabled=!1,this.locked=null,this.edges={left:!1,right:!1},this.measure=()=>{let e=this.strip;if(!e)return;let t={left:e.scrollLeft>1,right:e.scrollLeft+e.clientWidth<e.scrollWidth-1};(t.left!==this.edges.left||t.right!==this.edges.right)&&(this.edges=t)},this.wheel=e=>{let t=this.strip;!t||t.scrollWidth<=t.clientWidth||Math.abs(e.deltaX)>Math.abs(e.deltaY)||(e.preventDefault(),e.stopPropagation(),t.scrollLeft+=e.deltaY)}}willUpdate(e){e.has(`locked`)&&this.locked&&this.locked!==this.chosen&&this.choose(this.locked)}updated(e){e.has(`chosen`)&&this.reveal(),this.measure()}reveal(){let e=this.strip,t=e?.querySelector(`.lk-chip.is-chosen`);if(!e||!t)return;let n=t.offsetLeft-e.offsetLeft;(n<e.scrollLeft||n+t.offsetWidth>e.scrollLeft+e.clientWidth)&&e.scrollTo({left:n-(e.clientWidth-t.offsetWidth)/2,behavior:`smooth`})}choose(e){this.dispatchEvent(new CustomEvent(`choose`,{detail:e}))}message(){if(!this.count)return``;let e=this.count.max-this.count.used;return e===this.count.max?this.t(`chipCount.hint`,{n:e}):this.t(e===0?`chipCount.none`:e===1?`chipCount.leftOne`:`chipCount.left`,{n:e})}render(){let{room:e,count:t}=this;return h`
|
|
753
753
|
<div class="lk-chips-rack">
|
|
754
754
|
<div class="lk-chips" role="radiogroup" aria-label=${this.t(`chips`)}>
|
|
755
755
|
<div
|
|
@@ -779,23 +779,23 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
779
779
|
${this.message()}
|
|
780
780
|
</div>`:_}
|
|
781
781
|
</div>
|
|
782
|
-
`}},L([b()],
|
|
783
|
-
<div class="lk-card ${t?`is-hidden`:``} ${
|
|
782
|
+
`}},L([b()],qd.prototype,`chosen`,void 0),L([b({type:Boolean})],qd.prototype,`disabled`,void 0),L([b()],qd.prototype,`locked`,void 0),L([b({attribute:!1})],qd.prototype,`count`,void 0),L([x()],qd.prototype,`edges`,void 0),L([S(`.lk-chips-strip`)],qd.prototype,`strip`,void 0),qd=L([y(`fl-chips`)],qd)}));function Yd(e,{hidden:t=!1,lit:n=!1}={}){let r=t=>h`<span class="lk-card-corner ${t?`is-turned`:``}"><b>${jd(e.rank)}</b><svg viewBox="0 0 20 20"><path d=${Wd[e.suit]} /></svg></span>`;return h`
|
|
783
|
+
<div class="lk-card ${t?`is-hidden`:``} ${Gd(e)?`is-red`:``} ${n?`is-lit`:``}">
|
|
784
784
|
<div class="lk-card-turn">
|
|
785
785
|
<div class="lk-card-face">
|
|
786
786
|
${r(!1)}
|
|
787
|
-
<svg class="lk-card-pip" viewBox="0 0 20 20"><path d=${
|
|
787
|
+
<svg class="lk-card-pip" viewBox="0 0 20 20"><path d=${Wd[e.suit]} /></svg>
|
|
788
788
|
${r(!0)}
|
|
789
789
|
</div>
|
|
790
790
|
<div class="lk-card-back"></div>
|
|
791
791
|
</div>
|
|
792
792
|
</div>
|
|
793
|
-
`}var
|
|
793
|
+
`}var Xd=n((()=>{v(),Kd()})),Zd,Qd,$d=n((()=>{v(),C(),B(),W(),R(),Zd=`polygon(0 70%, 30% 80%, 36% 84%, 64% 84%, 70% 80%, 100% 70%, 100% 100%, 0 100%)`,Qd=class extends z{constructor(...e){super(...e),this.dealer=null,this.dealing=!1,this.last=null}updated(e){e.has(`dealer`)&&this.dealer!==null&&e.get(`dealer`)==null&&U.play(`dealer`)}render(){this.dealer!==null&&(this.last=this.dealer);let e=this.last===null?void 0:this.room.dealers[this.last];if(!e)return _;let t=`lk-dealer-photo ${this.dealer===null?``:`is-shown`} ${this.dealing?`is-dealing`:``}`;return h`
|
|
794
794
|
<img class=${t} src=${e.image} alt=${e.name??this.t(`cards.dealer`)} />
|
|
795
|
-
<img class="${t} is-hands" style="clip-path: ${e.hands??
|
|
796
|
-
`}},L([b({attribute:!1})],
|
|
797
|
-
<div class="lk-ctable ${
|
|
798
|
-
<div class="lk-dealer"><fl-dealer .dealer=${
|
|
795
|
+
<img class="${t} is-hands" style="clip-path: ${e.hands??Zd}" src=${e.image} alt="" aria-hidden="true" />
|
|
796
|
+
`}},L([b({attribute:!1})],Qd.prototype,`dealer`,void 0),L([b({type:Boolean})],Qd.prototype,`dealing`,void 0),Qd=L([y(`fl-dealer`)],Qd)}));function ef(e,t,{dealer:n,centre:r,bet:i,player:a,seats:o},{on:s,dealing:c}){let{t:l}=e,u=e.player;return h`
|
|
797
|
+
<div class="lk-ctable ${s!==null&&e.dealers[s]?`has-dealer`:``}">
|
|
798
|
+
<div class="lk-dealer"><fl-dealer .dealer=${s} ?dealing=${c}></fl-dealer></div>
|
|
799
799
|
<div class="lk-ctable-felt">
|
|
800
800
|
<i class="lk-ctable-rail" aria-hidden="true"></i>
|
|
801
801
|
<i class="lk-ctable-cloth" aria-hidden="true"></i>
|
|
@@ -807,80 +807,80 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
807
807
|
<i class="lk-ctable-shoe" aria-hidden="true"><b></b><b></b><b></b></i>
|
|
808
808
|
<div class="lk-ctable-dealer">${n}</div>
|
|
809
809
|
<div class="lk-ctable-centre">${r}</div>
|
|
810
|
-
|
|
811
|
-
${
|
|
812
|
-
<b>${
|
|
813
|
-
</div
|
|
810
|
+
${o??h`<div class="lk-seat is-mine" style=${tf}>
|
|
811
|
+
${u?.avatar?h`<img src=${u.avatar} alt="" />`:nf}
|
|
812
|
+
<b>${u?.name||l(`cards.you`)}</b>
|
|
813
|
+
</div>`}
|
|
814
814
|
${i?h`<div class="lk-ctable-bet">${i}</div>`:_}
|
|
815
815
|
<div class="lk-ctable-player">${a}</div>
|
|
816
816
|
</div>
|
|
817
817
|
</div>
|
|
818
|
-
`}var
|
|
818
|
+
`}var tf,nf,rf=n((()=>{v(),$d(),tf=`left: 50%; top: 100%`,nf=h`<svg class="lk-seat-avatar" viewBox="0 0 40 40" aria-hidden="true"><circle cx="20" cy="15" r="7" /><path d="M5 40c0-8.5 6.5-14 15-14s15 5.5 15 14Z" /></svg>`})),af,of,sf,cf,lf=n((()=>{v(),C(),w(),A(),Kd(),Uo(),N(),Jd(),Zs(),B(),Es(),H(),F(),W(),Xd(),rf(),R(),af=5,of=[`win`,`dealerBust`,`natural`,`spades`],sf=e=>xd(e).total,cf=class extends z{constructor(){super(),this.options={},this.phase=`ready`,this.hands=[],this.active=0,this.dealer=[],this.holeShown=!1,this.clearing=!1,this.result=null,this.chosen=``,this.chips=[],this.history=[],this.lastBet=null,this.boost=M(`blackjack`),this.prizeId=null,this.tier=`none`,this.pace=P()?0:480,this.watch(Ho)}willUpdate(){this.room.prizeIds.includes(this.chosen)||(this.chosen=this.room.prizeIds[0]),this.phase===`ready`&&(this.boost=M(`blackjack`))}get betting(){return this.phase===`ready`}get left(){return af-this.chips.length}get won(){return!!this.result&&of.includes(this.result)}get hand(){return this.hands[this.active]}get theirs(){return sf(this.holeShown?this.dealer:this.dealer.slice(0,1))}get canDouble(){return this.phase===`player`&&this.hand?.cards.length===2}get canSplitHand(){return this.phase===`player`&&this.hands.length===1&&Rd(this.hand.cards)}beats(e){return sf(e)<=21&&(this.theirs>21||this.theirs<sf(e))}wait(e){return new Promise(t=>this.later(t,e))}bet(){this.betting&&this.left&&(this.history=[...this.history,[...this.chips]],this.chips=[...this.chips,this.chosen],U.play(`tick`,1.4))}undo(){let e=this.history.at(-1);e&&(this.history=this.history.slice(0,-1),this.chips=e)}rebet(){this.lastBet&&!this.chips.length&&(this.history=[...this.history,[]],this.chips=[...this.lastBet])}clearChips(){this.history=[...this.history,[...this.chips]],this.chips=[]}give(e,t){e.push(t),this.requestUpdate(),U.play(`tick`,1.25)}async deal(){if(this.phase!==`ready`||!this.chips.length)return;let e=this.tier=ps(`blackjack`,this.boost);this.prizeId=ms(`blackjack`,[this.chips[0]]),this.lastBet=[...this.chips],this.history=[];let t=Sd(e);this.hands=[{cards:[],stacks:1,done:!1}],this.active=0,this.dealer=[],this.holeShown=!1,this.result=null,this.phase=`dealing`,U.play(`whoosh`,.6);let n=this.hands[0].cards;for(let[e,r]of[[n,t.player[0]],[this.dealer,t.dealer[0]],[n,t.player[1]],[this.dealer,t.dealer[1]]])await this.wait(this.pace),this.give(e,r);if(await this.wait(this.pace),Ld(n))return this.settle(e===`jackpot`?`spades`:`natural`);this.phase=`player`}hit(){this.phase===`player`&&(this.give(this.hand.cards,Cd(this.tier,this.hand.cards)),sf(this.hand.cards)>=21&&this.next())}double(){this.canDouble&&(this.hand.stacks++,this.give(this.hand.cards,Cd(this.tier,this.hand.cards)),this.next())}async split(){if(!this.canSplitHand)return;let[e,t]=this.hand.cards;this.phase=`dealing`,this.hands=[{cards:[e],stacks:1,done:!1},{cards:[t],stacks:1,done:!1}];let n=e.rank===14;for(let e of this.hands)await this.wait(this.pace),this.give(e.cards,Cd(this.tier,e.cards)),e.done=n||sf(e.cards)===21;if(this.hands.every(({done:e})=>e))return this.dealerTurn();this.phase=`player`,this.hands[0].done&&(this.active=1)}stand(){this.phase===`player`&&this.next()}next(){this.hand.done=!0;let e=this.hands.findIndex(({done:e})=>!e);e===-1?this.dealerTurn():this.active=e}async dealerTurn(){this.phase=`dealer`;let e=this.hands.map(({cards:e})=>sf(e)).filter(e=>e<=21);if(!e.length)return this.settle(`bust`);await this.wait(this.pace/2),this.holeShown=!0,U.play(`tick`,1);for(let t of wd(this.tier,this.dealer,Math.max(...e)))await this.wait(this.pace*1.4),this.give(this.dealer,t);await this.wait(this.pace),this.settle(this.hands.some(({cards:e})=>this.beats(e))?this.theirs>21?`dealerBust`:`win`:`lose`)}collect(){this.clearing=!0,U.play(`whoosh`,.4),this.later(()=>{this.hands=[],this.dealer=[],this.chips=[],this.holeShown=!1,this.result=null,this.clearing=!1,this.phase=`ready`},P()?0:650)}settle(e){if(this.holeShown=!0,this.result=e,this.phase=`done`,!this.won){U.play(`stop`,.7),this.later(()=>this.collect(),P()?600:2600);return}let{tier:t}=this,n=this.prizeId;U.play(t===`jackpot`?`jackpot`:`win`);let r=this.table?.getBoundingClientRect();r&&!P()&&I.burst(r.left+r.width/2,r.top+r.height*.6,{count:50,type:`spark`,speed:640,life:.8,gravity:300,colors:Ts});let i={game:`blackjack`,tier:t,prizeId:n,award:bo(this.room.prize(n),t),detail:{key:`detail.blackjack.${e}`}};this.later(()=>this.room.finish(i),P()?300:1600)}render(){let{room:e,phase:t,hands:n,chips:r,won:i,result:a,betting:o,left:s}=this,c=i?`won`:t===`dealing`||t===`dealer`?`spinning`:`idle`,l=n.reduce((e,{stacks:t})=>e+t,0)||1,u=h`
|
|
819
819
|
<span class="lk-hand-name">${this.t(`cards.dealer`)}${this.dealer.length?h`<b>${this.theirs}</b>`:_}</span>
|
|
820
|
-
<div class="lk-hand">${this.dealer.map((e,t)=>
|
|
820
|
+
<div class="lk-hand">${this.dealer.map((e,t)=>Yd(e,{hidden:t===1&&!this.holeShown}))}</div>
|
|
821
821
|
`,d=h`${a?h`<p class="lk-cards-result ${i?`is-won`:``}">${this.t(`blackjack.result.${a}`)}</p>`:_}`,f=h`
|
|
822
822
|
<button class="lk-bet ${o&&s>0?`is-open`:``}" ?disabled=${!o||!s} aria-label=${this.t(`blackjack.bet`,{prize:e.name(this.chosen)})} @click=${this.bet}>
|
|
823
823
|
${Array.from({length:l},(t,n)=>r.map((t,r)=>h`<i class="lk-bet-chip ${i&&t===this.prizeId?`is-winning`:``}" style="--lk-chip: ${e.color(t)}; --n: ${r}; --stack: ${n-(l-1)/2}"><img src=${e.icon(t)} alt="" /></i>`))}
|
|
824
824
|
</button>
|
|
825
825
|
`,p=h`${n.map((e,r)=>h`
|
|
826
826
|
<div class="lk-split ${n.length>1&&t===`player`&&r===this.active?`is-active`:``}">
|
|
827
|
-
<div class="lk-hand">${e.cards.map(t=>
|
|
828
|
-
${e.cards.length?h`<span class="lk-hand-total ${
|
|
827
|
+
<div class="lk-hand">${e.cards.map(t=>Yd(t,{lit:i&&(a===`natural`||a===`spades`||this.beats(e.cards))}))}</div>
|
|
828
|
+
${e.cards.length?h`<span class="lk-hand-total ${sf(e.cards)>21?`is-bust`:``}">${sf(e.cards)}${e.stacks>1?h`<small>×2</small>`:_}</span>`:_}
|
|
829
829
|
</div>
|
|
830
|
-
`)}`;return
|
|
830
|
+
`)}`;return Js(e.t,{state:c,rules:this.t(`games.blackjack.rules`),multiplier:this.boost,dealer:!0},h`
|
|
831
831
|
<div class="lk-cards lk-cards--blackjack ${this.clearing?`is-clearing`:``}">
|
|
832
|
-
${
|
|
832
|
+
${ef(e,this.t(`blackjack.print`),{dealer:u,centre:d,bet:f,player:p},{on:Ho.value,dealing:t===`dealing`||t===`dealer`})}
|
|
833
833
|
<div class="lk-rl-rack lk-cards-rack">
|
|
834
834
|
<fl-chips
|
|
835
835
|
.chosen=${this.chosen}
|
|
836
836
|
.disabled=${!o}
|
|
837
837
|
.locked=${r[0]??null}
|
|
838
|
-
.count=${{used:r.length,max
|
|
838
|
+
.count=${{used:r.length,max:af}}
|
|
839
839
|
@choose=${e=>this.chosen=e.detail}
|
|
840
840
|
></fl-chips>
|
|
841
841
|
<div class="lk-rl-actions">
|
|
842
842
|
<div class="lk-rl-quick">
|
|
843
843
|
<button class="lk-round" aria-label=${this.t(`roulette.undo`)} data-tip=${this.t(`roulette.undo`)} ?disabled=${!this.history.length||!o} @click=${this.undo}>
|
|
844
|
-
${V(
|
|
844
|
+
${V(oo)}
|
|
845
845
|
</button>
|
|
846
846
|
<button class="lk-round" aria-label=${this.t(`roulette.rebet`)} data-tip=${this.t(`roulette.rebet`)} ?disabled=${!this.lastBet||!!r.length||!o} @click=${this.rebet}>
|
|
847
|
-
${V(
|
|
847
|
+
${V(Wa)}
|
|
848
848
|
</button>
|
|
849
849
|
<button class="lk-round" aria-label=${this.t(`roulette.clear`)} data-tip=${this.t(`roulette.clear`)} ?disabled=${!r.length||!o} @click=${this.clearChips}>
|
|
850
|
-
${V(
|
|
850
|
+
${V(io)}
|
|
851
851
|
</button>
|
|
852
852
|
</div>
|
|
853
853
|
${t===`player`?h`
|
|
854
|
-
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.hit}>${V(
|
|
855
|
-
<button class="lk-btn lk-btn--outline lk-btn--lg" @click=${this.stand}>${V(
|
|
856
|
-
<button class="lk-btn lk-btn--outline lk-btn--lg" ?disabled=${!this.canDouble} @click=${this.double}>${V(
|
|
857
|
-
<button class="lk-btn lk-btn--outline lk-btn--lg" ?disabled=${!this.canSplitHand} @click=${this.split}>${V(
|
|
858
|
-
`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${!o||!r.length} @click=${this.deal}>${V(
|
|
854
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.hit}>${V(ca)}${this.t(`blackjack.hit`)}</button>
|
|
855
|
+
<button class="lk-btn lk-btn--outline lk-btn--lg" @click=${this.stand}>${V(wa)}${this.t(`blackjack.stand`)}</button>
|
|
856
|
+
<button class="lk-btn lk-btn--outline lk-btn--lg" ?disabled=${!this.canDouble} @click=${this.double}>${V(Ki)}${this.t(`blackjack.double`)}</button>
|
|
857
|
+
<button class="lk-btn lk-btn--outline lk-btn--lg" ?disabled=${!this.canSplitHand} @click=${this.split}>${V(Qa)}${this.t(`blackjack.split`)}</button>
|
|
858
|
+
`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${!o||!r.length} @click=${this.deal}>${V(Ea)}${this.t(`cards.deal`)}</button>`}
|
|
859
859
|
</div>
|
|
860
860
|
</div>
|
|
861
861
|
</div>
|
|
862
|
-
`)}},L([b({attribute:!1})],
|
|
862
|
+
`)}},L([b({attribute:!1})],cf.prototype,`options`,void 0),L([x()],cf.prototype,`phase`,void 0),L([x()],cf.prototype,`hands`,void 0),L([x()],cf.prototype,`active`,void 0),L([x()],cf.prototype,`dealer`,void 0),L([x()],cf.prototype,`holeShown`,void 0),L([x()],cf.prototype,`clearing`,void 0),L([x()],cf.prototype,`result`,void 0),L([x()],cf.prototype,`chosen`,void 0),L([x()],cf.prototype,`chips`,void 0),L([x()],cf.prototype,`history`,void 0),L([x()],cf.prototype,`lastBet`,void 0),L([S(`.lk-cards`)],cf.prototype,`table`,void 0),cf=L([y(`fl-blackjack`)],cf)})),uf,df=n((()=>{v(),C(),w(),A(),Kd(),Uo(),N(),Zs(),B(),Es(),H(),F(),W(),Xd(),rf(),R(),uf=class extends z{constructor(){super(),this.options={},this.phase=`ready`,this.player=[],this.dealer=[],this.board=[],this.shown=0,this.dealerShown=!1,this.folded=!1,this.clearing=!1,this.boost=M(`holdem`),this.prizeId=null,this.tier=`none`,this.pace=P()?0:480,this.watch(Ho)}willUpdate(){this.phase===`ready`&&(this.boost=M(`holdem`))}get result(){return this.dealerShown?Ud(this.player,this.dealer,this.board):null}handName(e){return this.t(`holdem.hands.${Bd[e]}`)}wait(e){return new Promise(t=>this.later(t,e))}async deal(){if(this.phase!==`ready`)return;this.tier=ps(`holdem`,this.boost);let{prizeIds:e}=this.room;this.prizeId=ms(`holdem`,e);let t=Dd(this.tier);this.player=[],this.dealer=[],this.board=t.board,this.shown=0,this.dealerShown=!1,this.folded=!1,this.phase=`dealing`,U.play(`whoosh`,.6);for(let[e,n]of[[`player`,t.player[0]],[`dealer`,t.dealer[0]],[`player`,t.player[1]],[`dealer`,t.dealer[1]]])await this.wait(this.pace),this[e]=[...this[e],n],U.play(`tick`,1.25);await this.turn(3),this.phase=`decide`}async turn(e){for(let t=0;t<e;t++)await this.wait(this.pace*1.2),this.shown++,U.play(`tick`,1.1)}async call(){if(this.phase!==`decide`)return;this.phase=`showdown`,await this.turn(2),await this.wait(this.pace*1.4),this.dealerShown=!0,this.phase=`done`;let e=this.result;if(e.tier===`none`){U.play(`stop`,.7),this.later(()=>this.collect(),P()?600:2600);return}let{tier:t}=this,n=this.prizeId;U.play(t===`jackpot`?`jackpot`:`win`);let r=this.table?.getBoundingClientRect();r&&!P()&&I.burst(r.left+r.width/2,r.top+r.height*.45,{count:50,type:`spark`,speed:640,life:.8,gravity:300,colors:Ts});let i={game:`holdem`,tier:t,prizeId:n,award:bo(this.room.prize(n),t),detail:{key:`detail.holdem`,params:{hand:this.handName(e.mine.category)}}};this.later(()=>this.room.finish(i),P()?300:1800)}fold(){this.phase===`decide`&&(this.folded=!0,this.phase=`done`,U.play(`stop`,.6),this.later(()=>this.collect(),P()?600:2e3))}collect(){this.clearing=!0,U.play(`whoosh`,.4),this.later(()=>{this.player=[],this.dealer=[],this.board=[],this.shown=0,this.dealerShown=!1,this.folded=!1,this.clearing=!1,this.phase=`ready`},P()?0:650)}render(){let{room:e,phase:t,result:n}=this,r=!!n&&n.tier!==`none`,i=r?`won`:t===`dealing`||t===`showdown`?`spinning`:`idle`,a=!n||this.clearing?[]:n.lost?Od(n.theirs):r?Od(n.mine):[...Od(n.mine),...Od(n.theirs)],o=e=>a.includes(e),s=h`
|
|
863
863
|
<span class="lk-hand-name">${this.t(`cards.dealer`)}${n?h`<b>${this.handName(n.theirs.category)}</b>`:_}</span>
|
|
864
|
-
<div class="lk-hand">${this.dealer.map(e=>
|
|
864
|
+
<div class="lk-hand">${this.dealer.map(e=>Yd(e,{hidden:!this.dealerShown,lit:o(e)}))}</div>
|
|
865
865
|
`,c=h`
|
|
866
|
-
<div class="lk-board">${this.board.map((e,t)=>t<this.shown?
|
|
866
|
+
<div class="lk-board">${this.board.map((e,t)=>t<this.shown?Yd(e,{lit:o(e)}):h`<i class="lk-board-slot"></i>`)}</div>
|
|
867
867
|
${this.folded||n?h`<p class="lk-cards-result ${r?`is-won`:``}">
|
|
868
868
|
${this.folded?this.t(`holdem.result.folded`):r?this.t(`holdem.result.won`,{hand:this.handName(n.mine.category)}):n.lost?this.t(`holdem.result.lost`,{hand:this.handName(n.theirs.category)}):this.t(`holdem.result.split`)}
|
|
869
869
|
</p>`:_}
|
|
870
870
|
`,l=h`
|
|
871
|
-
<div class="lk-hand">${this.player.map(e=>
|
|
871
|
+
<div class="lk-hand">${this.player.map(e=>Yd(e,{lit:o(e)}))}</div>
|
|
872
872
|
${n?h`<span class="lk-hand-total is-name">${this.handName(n.mine.category)}</span>`:_}
|
|
873
|
-
`;return
|
|
873
|
+
`;return Js(e.t,{state:i,rules:this.t(`games.holdem.rules`),multiplier:this.boost,dealer:!0},h`
|
|
874
874
|
<div class="lk-cards lk-cards--holdem ${this.clearing?`is-clearing`:``}">
|
|
875
|
-
${
|
|
875
|
+
${ef(e,this.t(`holdem.print`),{dealer:s,centre:c,player:l},{on:Ho.value,dealing:t===`dealing`||t===`showdown`})}
|
|
876
876
|
<div class="lk-controls lk-cards-controls">
|
|
877
877
|
${t===`decide`?h`
|
|
878
|
-
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.call}>${V(
|
|
879
|
-
<button class="lk-btn lk-btn--outline lk-btn--lg" @click=${this.fold}>${V(
|
|
880
|
-
`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${t!==`ready`} @click=${this.deal}>${V(
|
|
878
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.call}>${V(fa)}${this.t(`holdem.call`)}</button>
|
|
879
|
+
<button class="lk-btn lk-btn--outline lk-btn--lg" @click=${this.fold}>${V(po)}${this.t(`holdem.fold`)}</button>
|
|
880
|
+
`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${t!==`ready`} @click=${this.deal}>${V(Ea)}${this.t(`cards.deal`)}</button>`}
|
|
881
881
|
</div>
|
|
882
882
|
</div>
|
|
883
|
-
`)}},L([b({attribute:!1})],
|
|
883
|
+
`)}},L([b({attribute:!1})],uf.prototype,`options`,void 0),L([x()],uf.prototype,`phase`,void 0),L([x()],uf.prototype,`player`,void 0),L([x()],uf.prototype,`dealer`,void 0),L([x()],uf.prototype,`board`,void 0),L([x()],uf.prototype,`shown`,void 0),L([x()],uf.prototype,`dealerShown`,void 0),L([x()],uf.prototype,`folded`,void 0),L([x()],uf.prototype,`clearing`,void 0),L([S(`.lk-cards`)],uf.prototype,`table`,void 0),uf=L([y(`fl-holdem`)],uf)})),ff=n((()=>{uc(),Cc(),Hc(),el(),Ou(),Zu(),bd(),lf(),df()})),pf,mf,hf=n((()=>{v(),C(),w(),ts(),Es(),B(),H(),F(),W(),R(),pf=Cs(470,110,.9),mf=class extends z{constructor(...e){super(...e),this.stage=`printing`,this.gift=Zo()===`christmas`&&!P()?`wrapped`:null,this.rising=!1,this.claiming=!1,this.claimed=!1,this.error=null}get jackpot(){return this.outcome.tier===`jackpot`}stamp(){this.stage=`stamped`,U.play(`stamp`);let e=this.seal?.getBoundingClientRect();e&&I.burst(e.left+e.width/2,e.top+e.height/2,{count:26,type:`spark`,speed:620,life:.6,gravity:200,colors:Ts})}async unwrap(){await xs(1300),this.gift=`open`,this.rising=!0,U.play(`chime`,1.2),await this.updateComplete;let e=this.lid?.getBoundingClientRect();e&&I.burst(e.left+e.width/2,e.top+e.height/2,{count:70,speed:760,life:1.6,colors:Qo.christmas.confetti}),await xs(1400),this.rising=!1}async onClaim(){this.error=null,this.claiming=!0;try{await this.claim(this.win),this.claimed=!0,U.play(`chime`,1.2),requestAnimationFrame(()=>this.stamp())}catch(e){this.error=e instanceof Error&&e.message?e.message:this.t(`cert.claimFailed`)}finally{this.claiming=!1}}async firstUpdated(){this.gift?await this.unwrap():(U.play(`whoosh`),await xs(P()?0:750)),this.stage=`revealed`,await xs(P()?0:900),this.stamp(),this.jackpot&&(I.fountain(2200),I.cannons(900))}render(){let{room:e,outcome:t,win:n}=this,r=this.t(`games.${t.game}.name`),i=[{label:this.t(`cert.prize`),value:n.prize.name},{label:this.t(`cert.variant`),value:n.variant?.label??this.t(`cert.fullPrize`)},...n.variant?.details??[],{label:this.t(`cert.wonOn`),value:new Date().toLocaleDateString(e.locale,{day:`2-digit`,month:`short`,year:`numeric`})}];return h`
|
|
884
884
|
<div class="lk-cert-layer" role="dialog" aria-modal="true" aria-label=${this.t(`cert.title`)}>
|
|
885
885
|
${this.jackpot?h`<div class="lk-rays"><i></i><i></i></div>`:_}
|
|
886
886
|
${this.gift?h`<div class="lk-gift-lid is-${this.gift}" aria-hidden="true"></div><div class="lk-gift-box is-${this.gift}" aria-hidden="true"></div>`:_}
|
|
@@ -889,12 +889,12 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
889
889
|
class="lk-cert ${this.rising?`is-rising`:``} ${this.stage===`printing`?`is-printing`:`is-revealed`} ${this.stage===`stamped`?`is-stamped`:``} ${this.claimed?`is-issued`:``}"
|
|
890
890
|
>
|
|
891
891
|
<svg viewBox="0 0 600 520" preserveAspectRatio="xMidYMid slice" aria-hidden="true">
|
|
892
|
-
${
|
|
892
|
+
${pf.map(e=>g`<polyline points=${e} fill="none" stroke="#b08a3a" stroke-opacity="0.18" stroke-width="0.5" />`)}
|
|
893
893
|
</svg>
|
|
894
894
|
<div class="lk-cert-head">
|
|
895
895
|
${e.logo(`lk-cert-logo`)}
|
|
896
|
-
${this.claim?h`<span class="lk-badge ${this.claimed?`is-success`:``}">${V(this.claimed?
|
|
897
|
-
<span class="lk-badge lk-badge--from">${V(
|
|
896
|
+
${this.claim?h`<span class="lk-badge ${this.claimed?`is-success`:``}">${V(this.claimed?Hi:Xi)}${this.t(this.claimed?`cert.claimed`:`cert.notClaimed`)}</span>`:_}
|
|
897
|
+
<span class="lk-badge lk-badge--from">${V(na)}${r} · ${this.t(t.detail.key,t.detail.params)}</span>
|
|
898
898
|
</div>
|
|
899
899
|
<div class="lk-cert-product">
|
|
900
900
|
<img src=${e.icon(n.prize.id)} alt="" />
|
|
@@ -920,23 +920,23 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
920
920
|
${this.error?h`<p class="lk-note" role="alert">${this.error}</p>`:_}
|
|
921
921
|
<div class="lk-actions">
|
|
922
922
|
${this.claim&&!this.claimed?h`<button class="lk-btn lk-btn--primary" ?disabled=${this.claiming} @click=${this.onClaim}>
|
|
923
|
-
${V(this.claiming?
|
|
923
|
+
${V(this.claiming?Aa:ga,this.claiming?`lk-spinning`:``)}${this.t(this.claiming?`cert.claiming`:`cert.claim`)}
|
|
924
924
|
</button>`:_}
|
|
925
925
|
<button class="lk-btn ${this.claim&&!this.claimed?`lk-btn--outline`:`lk-btn--primary`}" @click=${()=>this.dispatchEvent(new Event(`again`))}>
|
|
926
|
-
${V(
|
|
926
|
+
${V(Ka)}${this.t(`cert.again`,{game:r})}
|
|
927
927
|
</button>
|
|
928
|
-
<button class="lk-btn lk-btn--outline" @click=${()=>this.dispatchEvent(new Event(`lobby`))}>${V(
|
|
928
|
+
<button class="lk-btn lk-btn--outline" @click=${()=>this.dispatchEvent(new Event(`lobby`))}>${V(Oa)}${this.t(`cert.otherGame`)}</button>
|
|
929
929
|
</div>
|
|
930
930
|
</article>
|
|
931
931
|
`}
|
|
932
932
|
</div>
|
|
933
|
-
`}},L([b({attribute:!1})],
|
|
933
|
+
`}},L([b({attribute:!1})],mf.prototype,`outcome`,void 0),L([b({attribute:!1})],mf.prototype,`win`,void 0),L([b({attribute:!1})],mf.prototype,`claim`,void 0),L([x()],mf.prototype,`stage`,void 0),L([x()],mf.prototype,`gift`,void 0),L([x()],mf.prototype,`rising`,void 0),L([x()],mf.prototype,`claiming`,void 0),L([x()],mf.prototype,`claimed`,void 0),L([x()],mf.prototype,`error`,void 0),L([S(`.lk-seal`)],mf.prototype,`seal`,void 0),L([S(`.lk-gift-lid`)],mf.prototype,`lid`,void 0),mf=L([y(`fl-certificate`)],mf)})),gf,_f,vf,yf,bf,xf,Sf,Cf,wf,Tf,Ef,Df,Of,kf,Af,jf,Mf,Nf,Pf,Ff,If,Lf=n((()=>{v(),C(),w(),Fc(),k(),yl(),mc(),ts(),Uo(),N(),Xd(),fd(),hu(),yc(),ac(),B(),H(),F(),W(),qs(),R(),gf=[`lobby.games`,`lobby.private`],_f={blackjack:{dealer:[{rank:13,suit:`hearts`},{rank:9,suit:`clubs`}],player:[{rank:14,suit:`spades`},{rank:11,suit:`spades`}]},holdem:{dealer:[{rank:12,suit:`diamonds`},{rank:12,suit:`clubs`}],player:[{rank:14,suit:`hearts`},{rank:13,suit:`hearts`}]}},vf=[{rank:12,suit:`hearts`},{rank:11,suit:`hearts`},{rank:10,suit:`hearts`},{rank:4,suit:`spades`},{rank:9,suit:`diamonds`}],yf=[];for(let e=0;e<7;e++){let t=46+e*26;for(let n=e%2?-60:-72;n<=72;n+=24)(t>110||Math.hypot(n,t-110)<90)&&yf.push({x:110+n,y:t})}bf=[`#2a170c`,`#1d3561`,`#7d1c24`,`#c79a3e`,`#7d1c24`,`#1d3561`,`#2a170c`],xf={blue:[`#8cc8ff`,`#2f7fe6`],red:[`#ffa08c`,`#f0433f`],violet:[`#ffc4f4`,`#e04fd0`]},Sf=yf.reduce((e,t,n)=>Math.hypot(t.x-110,t.y-124)<Math.hypot(yf[e].x-110,yf[e].y-124)?n:e,0),Cf=e=>e===Sf?`violet`:e%5==2?`red`:`blue`,wf=[`-14,-10 8,14 0,20 22,28 16,36 36,38`,`-14,232 10,214 2,206 22,198 14,190 36,184`,`234,234 210,214 218,206 196,198 204,190 184,184`],Tf=`M10 176C70 174 122 156 160 124`,Ef=O(0,23).map(e=>`M0 190L${(Math.cos(e*Math.PI/12)*420).toFixed(1)} ${(190-Math.sin(e*Math.PI/12)*420).toFixed(1)}L${(Math.cos((e+.5)*Math.PI/12)*420).toFixed(1)} ${(190-Math.sin((e+.5)*Math.PI/12)*420).toFixed(1)}Z`),Df=[`4,0 36,18 36,202 4,220`,`256,0 224,18 224,202 256,220`],Of=[{x:28,from:30,count:9},{x:12,from:14,count:11},{x:232,from:30,count:9},{x:248,from:14,count:11}].flatMap(({x:e,from:t,count:n},r)=>O(0,n-1).map(n=>({x:e,y:t+n*18.5,color:[`#9e1b22`,`#1d3561`,`#d4a94e`,`#f6e2a6`,`#1c6136`,`#5b2a6e`][(n*5+r*3)%6],delay:`${(n*7+r*3)%10/20}s`}))),kf=[{x:40,y:40,w:26},{x:120,y:62,w:18},{x:70,y:112,w:22},{x:170,y:150,w:16},{x:20,y:140,w:14}],Af=50,jf=2e4,Mf=(Oc(jf)-Oc(Af)+1.8)*1e3,Nf=[{offset:0,transform:`translate(0, 0)`,opacity:1},{offset:.12,transform:`translate(0, 0)`,opacity:1,easing:`ease-out`},{offset:.3,transform:`translate(0, -42px)`,opacity:1},{offset:.42,transform:`translate(0, -42px)`,opacity:1,easing:`ease-out`},{offset:.6,transform:`translate(44px, -72px)`,opacity:1},{offset:.9,transform:`translate(44px, -72px)`,opacity:1},{offset:1,transform:`translate(44px, -72px)`,opacity:0}],Pf=[{transform:`translateY(0)`},{transform:`translateY(-1200px)`}],Ff={wheel:[{selector:`.lk-mini-wheel`,keyframes:[{rotate:`0deg`},{rotate:`360deg`}],duration:4e4,fast:40/6}],roulette:[{selector:`.lk-mini-roulette`,keyframes:[{rotate:`0deg`},{rotate:`-360deg`}],duration:24e3,fast:24/5}],slot:[...[5e3,6400,7600].map((e,t)=>({selector:`.lk-reel:nth-child(${t+1}) ul`,keyframes:Pf,duration:e,fast:e/600})),{selector:`.lk-mini-multiplier`,keyframes:[{opacity:1},{opacity:1}],duration:Mf,fast:5},{selector:`.lk-mini-rays`,keyframes:[{rotate:`0deg`},{rotate:`-15deg`}],duration:6e3,fast:5},{selector:`.lk-mini-speed`,keyframes:[{transform:`translate(0, 0)`},{transform:`translate(-220px, 60px)`}],duration:3e3,fast:5},{selector:`.lk-mini-glint`,keyframes:[{strokeDashoffset:100},{strokeDashoffset:0}],duration:2200,fast:5},{selector:`.lk-mini-football`,keyframes:Nf,duration:3200,fast:3}]},If=class extends z{constructor(){super(),this.page=0,this.takeoffShown=Af,this.strips=[],this.struck=cl(),this.flipping=0,this.touchY=null,this.takeoffRaf=0,this.spins=new Map,this.inRoom=e=>e.composedPath().some(e=>e instanceof Element&&e.classList.contains(`lk-room`)),this.flip=e=>this.inRoom(e)&&Math.abs(e.deltaY)>6&&this.turnPage(this.page+Math.sign(e.deltaY)),this.touchStart=e=>this.touchY=this.inRoom(e)?e.touches[0]?.clientY??null:null,this.touchEnd=e=>{let t=e.changedTouches[0]?.clientY;this.touchY!==null&&t!==void 0&&Math.abs(this.touchY-t)>50&&this.turnPage(this.page+Math.sign(this.touchY-t)),this.touchY=null},this.pageKeys=e=>{(e.key===`PageDown`||e.key===`ArrowDown`)&&this.turnPage(this.page+1),(e.key===`PageUp`||e.key===`ArrowUp`)&&this.turnPage(this.page-1)},this.climb=()=>{let e=this.grid?.querySelector(`.lk-mini-multiplier`)?.getAnimations()[0];e&&(this.takeoffShown=Math.min(jf,Dc(Oc(Af)+Number(e.currentTime)%Mf/1e3))),this.takeoffRaf=requestAnimationFrame(this.climb)},this.watch(Ho)}willUpdate(e){super.willUpdate(e),this.stripsFor!==this.room.prizeIds&&(this.stripsFor=this.room.prizeIds,this.strips=dc(this.room.prizeIds))}turnPage(e){let t=Math.max(0,Math.min(gf.length-1,e));t===this.page||performance.now()<this.flipping||(this.page=t,this.flipping=performance.now()+(P()?0:900),U.play(`whoosh`,.5),this.dispatchEvent(new CustomEvent(`page`,{detail:t})))}accelerate(e,t){let n=this.spins.get(e);if(!n)return;cancelAnimationFrame(n.ramp);let r=n.animations.map(({animation:e,fast:n})=>({animation:e,from:e.playbackRate,to:t?n:1})),i=performance.now(),a=e=>{let t=1-(1-Math.min(1,(e-i)/600))**3;r.forEach(({animation:e,from:n,to:r})=>e.playbackRate=n+(r-n)*t),t<1&&(n.ramp=requestAnimationFrame(a))};n.ramp=requestAnimationFrame(a)}connectedCallback(){super.connectedCallback(),addEventListener(`keydown`,this.pageKeys),addEventListener(`wheel`,this.flip,{passive:!0}),addEventListener(`touchstart`,this.touchStart,{passive:!0}),addEventListener(`touchend`,this.touchEnd)}async firstUpdated(){if(await Promise.all([...this.querySelectorAll(`fl-wheel-face, fl-slot-machine, fl-roulette-wheel`)].map(e=>e.updateComplete)),this.isConnected){if(!P()){for(let e of Object.keys(Ff)){let t=Ff[e].flatMap(({selector:t,keyframes:n,duration:r,fast:i})=>{let a=this.grid?.querySelector(`.lk-table--${e} ${t}`);return a?[{animation:a.animate(n,{duration:r,iterations:1/0}),fast:i}]:[]});this.spins.set(e,{animations:t,ramp:0})}this.takeoffRaf=requestAnimationFrame(this.climb)}this.observer=new ResizeObserver(e=>e.forEach(({target:e,contentRect:{width:t,height:n}})=>{e.style.setProperty(`--lk-art-h`,String(n));let r=e.querySelector(`.lk-mini-slot`);r&&(r.style.zoom=String(Math.min(n*.8/495,t*.72/560)))})),this.grid?.querySelectorAll(`.lk-art`).forEach(e=>this.observer.observe(e))}}disconnectedCallback(){super.disconnectedCallback(),removeEventListener(`keydown`,this.pageKeys),removeEventListener(`wheel`,this.flip),removeEventListener(`touchstart`,this.touchStart),removeEventListener(`touchend`,this.touchEnd),this.observer?.disconnect(),this.spins.forEach(e=>cancelAnimationFrame(e.ramp)),cancelAnimationFrame(this.takeoffRaf)}play(e){U.play(`tick`),this.dispatchEvent(new CustomEvent(`play`,{detail:e}))}meta(e){return h`
|
|
934
934
|
<div class="lk-meta">
|
|
935
935
|
<span>
|
|
936
936
|
<b>${this.t(`games.${e}.name`)}</b>
|
|
937
937
|
<small>${this.t(`games.${e}.summary`)}</small>
|
|
938
938
|
</span>
|
|
939
|
-
${V(
|
|
939
|
+
${V(Wi)}
|
|
940
940
|
</div>
|
|
941
941
|
`}takeoffArt(){return h`
|
|
942
942
|
<svg class="lk-mini-takeoff" viewBox="0 0 220 190" aria-hidden="true">
|
|
@@ -947,16 +947,16 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
947
947
|
<rect width="220" height="190" rx="18" fill="url(#lk-mini-sky-wood)" stroke="#d4a94e" stroke-opacity=".6" stroke-width="2" />
|
|
948
948
|
<clipPath id="lk-mini-takeoff-clip"><rect width="220" height="190" rx="18" /></clipPath>
|
|
949
949
|
<g clip-path="url(#lk-mini-takeoff-clip)">
|
|
950
|
-
<g class="lk-mini-rays" fill="#e2bd63" fill-opacity=".06">${
|
|
950
|
+
<g class="lk-mini-rays" fill="#e2bd63" fill-opacity=".06">${Ef.map(e=>g`<path d=${e} />`)}</g>
|
|
951
951
|
<g class="lk-mini-speed" stroke="#f6e2a6" stroke-opacity=".35" stroke-width="1.5" stroke-linecap="round">
|
|
952
|
-
${[1,2].map(e=>
|
|
952
|
+
${[1,2].map(e=>kf.map(t=>g`<line x1=${t.x+e*220} y1=${t.y-e*60} x2=${t.x+e*220+t.w} y2=${t.y-e*60-t.w*.27} />`))}
|
|
953
953
|
</g>
|
|
954
954
|
</g>
|
|
955
|
-
<path class="lk-mini-trail" d=${
|
|
955
|
+
<path class="lk-mini-trail" d=${Tf} fill="none" stroke="url(#lk-mini-trail)" stroke-width="4" stroke-linecap="round" pathLength="100" />
|
|
956
956
|
<text x="110" y="74" class="lk-mini-multiplier" text-anchor="middle">${this.takeoffShown.toFixed(2)}×</text>
|
|
957
|
-
<path class="lk-mini-glint" d=${
|
|
958
|
-
${
|
|
959
|
-
${
|
|
957
|
+
<path class="lk-mini-glint" d=${Tf} fill="none" stroke="#fffbe8" stroke-width="3" stroke-linecap="round" pathLength="100" />
|
|
958
|
+
${Zo()===`christmas`?g`<g class="lk-mini-plane"><g transform="translate(156 128) rotate(-36) scale(.62)">
|
|
959
|
+
${es.map(e=>g`<path d=${e.d} fill=${e.fill??`none`} stroke=${e.stroke??_} stroke-width=${e.width??_} stroke-linecap="round" class=${e.glow?`lk-mini-nose`:_} />`)}
|
|
960
960
|
</g></g>`:g`<g class="lk-mini-plane"><g transform="translate(160 124) rotate(-36) scale(.62)">
|
|
961
961
|
<path d="M-24 -2L-34 -15L-27 -15L-15 -5Z" fill="#7d1c24" />
|
|
962
962
|
<ellipse rx="26" ry="7.5" fill="#f6e2a6" stroke="#8a6420" stroke-width="1.2" />
|
|
@@ -966,8 +966,8 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
966
966
|
</svg>
|
|
967
967
|
`}breakawayArt(){return h`
|
|
968
968
|
<svg class="lk-mini-breakaway" viewBox="0 0 260 220" aria-hidden="true">
|
|
969
|
-
<defs>${
|
|
970
|
-
${
|
|
969
|
+
<defs>${Df.map((e,t)=>g`<clipPath id="lk-mini-stand-${t}"><polygon points=${e} /></clipPath>`)}</defs>
|
|
970
|
+
${Df.map((e,t)=>g`
|
|
971
971
|
<g>
|
|
972
972
|
<polygon points=${e} fill="#2a1208" />
|
|
973
973
|
<g clip-path="url(#lk-mini-stand-${t})">
|
|
@@ -977,7 +977,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
977
977
|
<polygon points=${e} fill="none" stroke="#d4a94e" stroke-opacity=".5" stroke-linejoin="round" />
|
|
978
978
|
</g>
|
|
979
979
|
`)}
|
|
980
|
-
${
|
|
980
|
+
${Of.map(e=>g`
|
|
981
981
|
<g class="lk-mini-fan" style="--d: ${e.delay}">
|
|
982
982
|
<path class="lk-mini-fan-arms" d="M${e.x-3.5} ${e.y+2}l-2.5 -5M${e.x+3.5} ${e.y+2}l2.5 -5" stroke=${e.color} stroke-width="1.6" stroke-linecap="round" />
|
|
983
983
|
<rect x=${e.x-3.5} y=${e.y+1} width="7" height="6" rx="2" fill=${e.color} />
|
|
@@ -1002,7 +1002,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1002
1002
|
<div class="lk-mini-storm ${e?`is-storm`:``}">
|
|
1003
1003
|
<fl-roulette-wheel rootClass="lk-mini-roulette" prefix="mr" .struck=${e?this.struck:void 0}></fl-roulette-wheel>
|
|
1004
1004
|
${e?h`<svg class="lk-mini-bolts" viewBox="0 0 220 220" aria-hidden="true">
|
|
1005
|
-
${
|
|
1005
|
+
${wf.map((e,t)=>g`<polyline points=${e} style="--d: ${t*.8}s" />`)}
|
|
1006
1006
|
</svg>`:_}
|
|
1007
1007
|
</div>
|
|
1008
1008
|
`}pachinkoArt(){let e=M(`pachinko`)>1;return h`
|
|
@@ -1013,23 +1013,23 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1013
1013
|
</defs>
|
|
1014
1014
|
${e?g`
|
|
1015
1015
|
<path d="M10 250V110a100 100 0 0 1 200 0v140z" fill="url(#lk-mini-pachi-board)" stroke="#d4a94e" stroke-width="3" />
|
|
1016
|
-
${
|
|
1016
|
+
${yf.map((e,t)=>{let n=Cf(t)===`violet`;return g`
|
|
1017
1017
|
<g>
|
|
1018
|
-
<circle cx=${e.x} cy=${e.y} r=${n?5.6:4.4} fill=${
|
|
1019
|
-
<circle cx=${e.x-1.3} cy=${e.y-1.3} r=${n?1.9:1.4} fill=${
|
|
1018
|
+
<circle cx=${e.x} cy=${e.y} r=${n?5.6:4.4} fill=${xf[Cf(t)][1]} stroke="#f1cf72" stroke-width=".8" />
|
|
1019
|
+
<circle cx=${e.x-1.3} cy=${e.y-1.3} r=${n?1.9:1.4} fill=${xf[Cf(t)][0]} />
|
|
1020
1020
|
</g>
|
|
1021
1021
|
`})}
|
|
1022
|
-
${
|
|
1022
|
+
${bf.map((e,t)=>g`<rect x=${14+t*28} y="226" width="24" height="20" rx="4" fill=${e} />`)}
|
|
1023
1023
|
${O(1,8).map(e=>g`<circle class="lk-ball lk-ball-trail" cx="110" cy="30" r=${6-e*.55} fill="#ffd36e" fill-opacity=${.75-e*.08} style="--k: ${e}" />`)}
|
|
1024
1024
|
<circle class="lk-ball lk-ball--gold" cx="110" cy="30" r="6" fill="url(#lk-mini-pachi-gold)" />
|
|
1025
1025
|
`:g`
|
|
1026
1026
|
<path d="M10 250V110a100 100 0 0 1 200 0v140z" fill="#2a140a" stroke="#d4a94e" stroke-width="3" />
|
|
1027
|
-
${
|
|
1028
|
-
${
|
|
1027
|
+
${yf.map(e=>g`<circle cx=${e.x} cy=${e.y} r="3" fill="#d4a94e" />`)}
|
|
1028
|
+
${bf.map((e,t)=>g`<rect x=${14+t*28} y="226" width="24" height="20" rx="4" fill=${e} />`)}
|
|
1029
1029
|
<circle class="lk-ball" cx="110" cy="30" r="6" fill="#f4ecdc" />
|
|
1030
1030
|
`}
|
|
1031
1031
|
</svg>
|
|
1032
|
-
`}scratchArt(){let e=M(`scratch`)>1?
|
|
1032
|
+
`}scratchArt(){let e=M(`scratch`)>1?gs():`classic`,t=sd(this.t(`scratch.prize`));return e===`double`?h`
|
|
1033
1033
|
<svg class="lk-mini-scratch" viewBox="0 0 200 250" aria-hidden="true">
|
|
1034
1034
|
<defs>
|
|
1035
1035
|
<clipPath id="lk-mini-double-clip"><rect width="200" height="250" rx="18" /></clipPath>
|
|
@@ -1090,10 +1090,10 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1090
1090
|
<rect x="16" y="20" width="90" height="12" rx="6" fill="#7d1c24" opacity=".75" />
|
|
1091
1091
|
</g>
|
|
1092
1092
|
</svg>
|
|
1093
|
-
`}art(e){if(e===`wheel`)return h`<fl-wheel-face rootClass="lk-mini-wheel" prefix="mw"></fl-wheel-face>`;if(e===`slot`){let e=M(`slot`)>1?
|
|
1093
|
+
`}art(e){if(e===`wheel`)return h`<fl-wheel-face rootClass="lk-mini-wheel" prefix="mw"></fl-wheel-face>`;if(e===`slot`){let e=M(`slot`)>1?hs():`classic`;return e===`takeoff`?this.takeoffArt():e===`breakaway`?this.breakawayArt():h`<div class="lk-mini-slot"><fl-slot-machine .strips=${this.strips} mini></fl-slot-machine></div>`}return e===`roulette`?this.rouletteArt():e===`pachinko`?this.pachinkoArt():this.scratchArt()}render(){let{page:e}=this,t=is(),n=t?[t,...as.filter(e=>e!==t)]:as;return h`
|
|
1094
1094
|
<div class="lk-lobby" style="--page: ${e}">
|
|
1095
1095
|
<div class="lk-pages">
|
|
1096
|
-
<section class="lk-page ${e===0?`is-current`:``}" style="--index: 0" ?inert=${e!==0} aria-label=${this.t(
|
|
1096
|
+
<section class="lk-page ${e===0?`is-current`:``}" style="--index: 0" ?inert=${e!==0} aria-label=${this.t(gf[0])}>
|
|
1097
1097
|
<div class="lk-grid">
|
|
1098
1098
|
${n.map((e,t)=>h`
|
|
1099
1099
|
<button
|
|
@@ -1104,7 +1104,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1104
1104
|
@click=${()=>this.play(e)}
|
|
1105
1105
|
>
|
|
1106
1106
|
<i class="lk-bulbs" aria-hidden="true"></i>
|
|
1107
|
-
${M(e)>1?
|
|
1107
|
+
${M(e)>1?Ks(this.room.t,M(e)):_}
|
|
1108
1108
|
<div class="lk-table-body">
|
|
1109
1109
|
<div class="lk-art">${this.art(e)}</div>
|
|
1110
1110
|
${this.meta(e)}
|
|
@@ -1114,22 +1114,22 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1114
1114
|
</div>
|
|
1115
1115
|
</section>
|
|
1116
1116
|
|
|
1117
|
-
<section class="lk-page lk-page--private ${e===1?`is-current`:``}" style="--index: 1" ?inert=${e!==1} aria-label=${this.t(
|
|
1117
|
+
<section class="lk-page lk-page--private ${e===1?`is-current`:``}" style="--index: 1" ?inert=${e!==1} aria-label=${this.t(gf[1])}>
|
|
1118
1118
|
<header class="lk-private-head">
|
|
1119
1119
|
<i class="lk-rope" aria-hidden="true"><b></b><b></b></i>
|
|
1120
1120
|
<h3>${this.t(`lobby.private`)}</h3>
|
|
1121
1121
|
<small>${this.t(`lobby.privateLine`)}</small>
|
|
1122
1122
|
</header>
|
|
1123
1123
|
<div class="lk-grid lk-grid--private">
|
|
1124
|
-
${
|
|
1124
|
+
${os.map((e,t)=>h`
|
|
1125
1125
|
<button class="lk-table lk-table--private lk-table--${e}" style="--i: ${t}" @click=${()=>this.play(e)}>
|
|
1126
|
-
${M(e)>1?
|
|
1126
|
+
${M(e)>1?Ks(this.room.t,M(e),!0):_}
|
|
1127
1127
|
<div class="lk-table-body">
|
|
1128
1128
|
<div class="lk-art">
|
|
1129
1129
|
<div class="lk-mini-cards">
|
|
1130
|
-
<div class="lk-mini-hand is-dealer">${
|
|
1131
|
-
${e===`holdem`?h`<div class="lk-mini-hand is-board">${
|
|
1132
|
-
<div class="lk-mini-hand is-player">${
|
|
1130
|
+
<div class="lk-mini-hand is-dealer">${_f[e].dealer.map((e,t)=>Yd(e,{hidden:t===1}))}</div>
|
|
1131
|
+
${e===`holdem`?h`<div class="lk-mini-hand is-board">${vf.map(e=>Yd(e))}</div>`:_}
|
|
1132
|
+
<div class="lk-mini-hand is-player">${_f[e].player.map(e=>Yd(e))}</div>
|
|
1133
1133
|
</div>
|
|
1134
1134
|
</div>
|
|
1135
1135
|
${this.meta(e)}
|
|
@@ -1141,7 +1141,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1141
1141
|
</div>
|
|
1142
1142
|
|
|
1143
1143
|
<nav class="lk-pager" aria-label=${this.t(`lobby.pager`)}>
|
|
1144
|
-
${
|
|
1144
|
+
${gf.map((t,n)=>h`<button
|
|
1145
1145
|
type="button"
|
|
1146
1146
|
class=${e===n?`is-current`:``}
|
|
1147
1147
|
aria-current=${e===n?`page`:_}
|
|
@@ -1151,17 +1151,17 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1151
1151
|
></button>`)}
|
|
1152
1152
|
</nav>
|
|
1153
1153
|
</div>
|
|
1154
|
-
`}},L([b({type:Number})],
|
|
1154
|
+
`}},L([b({type:Number})],If.prototype,`page`,void 0),L([x()],If.prototype,`takeoffShown`,void 0),L([S(`.lk-grid`)],If.prototype,`grid`,void 0),If=L([y(`fl-lobby`)],If)}));function Rf(e,t){e.globalAlpha=.25+t.size*.15,e.fillStyle=`#fffaf0`,e.beginPath(),e.arc(t.x,t.y,t.size,0,Math.PI*2),e.fill(),e.globalAlpha=1}function zf(e,t,n,r){e.save(),e.translate(t.x,t.y),e.rotate(t.phase+n*t.spin),e.scale(1,Math.cos(n*2.4+t.phase)),e.globalAlpha=.8,e.fillStyle=t.color,e.beginPath(),r===`halloween`?(e.moveTo(-t.size,0),e.quadraticCurveTo(0,-t.size*.8,t.size,0),e.quadraticCurveTo(0,t.size*.8,-t.size,0)):e.ellipse(0,0,t.size*.6,t.size*.38,0,0,Math.PI*2),e.fill(),e.restore()}function Bf(e,t,n,r,i){e.save(),e.translate(t,n),e.scale(r,Math.abs(r)),e.fillStyle=`rgb(74 38 98 / 0.9)`,e.shadowColor=`rgb(255 140 50 / 0.7)`,e.shadowBlur=8;for(let t of[-1,1])e.save(),e.scale(t,.35+.65*Math.abs(i)),e.beginPath(),e.moveTo(2,-2),e.quadraticCurveTo(10,-12,22,-6),e.quadraticCurveTo(19,-1,20,3),e.quadraticCurveTo(15,0,13,4),e.quadraticCurveTo(8,1,3,4),e.closePath(),e.fill(),e.restore();e.beginPath(),e.ellipse(0,0,3.6,5.2,0,0,Math.PI*2),e.moveTo(-3,-4),e.lineTo(-2.2,-8),e.lineTo(-.8,-4.6),e.moveTo(3,-4),e.lineTo(2.2,-8),e.lineTo(.8,-4.6),e.fill(),e.restore()}var Vf,Hf,Uf,Wf,Gf,Kf,qf,Jf,Yf,Xf,Zf,Qf,$f,ep,tp,np,rp,ip,ap,op,sp,cp,lp,up=n((()=>{v(),C(),k(),ts(),B(),F(),R(),Vf=140,Hf=Array.from({length:20},(e,t)=>t*Vf),Uf=`M0 2Q${Vf/2} 24 ${Vf} 2`,Wf=e=>({x:e*Vf,y:2+2*(1-e)*e*22}),Gf=[.2,.5,.8].map(Wf),Kf=[.08,.25,.42,.58,.75,.92].map(Wf),qf=[.1,.3,.5,.7,.9].map(Wf),Jf=[`#ffc8dd`,`#cdb4ff`,`#b8f0c8`],Yf=[`#ffd23f`,`#3ec1c9`,`#ff6f59`,`#fff4d6`,`#3ec1c9`,`#ff6f59`],Xf=(e,t,n,r)=>Array.from({length:10},(i,a)=>{let o=a*Math.PI/5-Math.PI/2,s=a%2?r:n;return`${(e+Math.cos(o)*s).toFixed(1)},${(t+Math.sin(o)*s).toFixed(1)}`}).join(` `),Zf=Xf(110,40,14,6),Qf=[{d:`M30 245L110 120L190 245Q150 236 110 246Q70 236 30 245Z`,snow:`M30 245Q70 236 110 246Q150 236 190 245`},{d:`M45 185L110 80L175 185Q142 177 110 187Q78 177 45 185Z`,snow:`M45 185Q78 177 110 187Q142 177 175 185`},{d:`M62 128L110 42L158 128Q134 121 110 130Q86 121 62 128Z`,snow:`M62 128Q86 121 110 130Q134 121 158 128`}],$f=[[78,110,140,122],[66,165,154,178],[50,222,172,236]].flatMap(([e,t,n,r],i)=>Array.from({length:6+i},(a,o)=>{let s=(o+.5)/(6+i);return{x:e+(n-e)*s,y:t+(r-t)*s+Math.sin(Math.PI*s)*6,color:[`#ffe3a0`,`#ff6b5e`,`#7fd6ff`,`#fff4d6`][(o+i)%4],delay:(o+i)%3}})),ep=[1,2,3].map(e=>`M${$f.filter((t,n)=>n>=[0,6,13][e-1]&&n<[6,13,21][e-1]).map(e=>`${e.x.toFixed(1)} ${e.y.toFixed(1)}`).join(`L`)}`),tp=[{x:100,y:90,color:`#c8202f`},{x:92,y:142,color:`#d4a94e`},{x:130,y:150,color:`#c8202f`},{x:84,y:200,color:`#1d6fb8`},{x:120,y:206,color:`#d4a94e`},{x:152,y:198,color:`#c8202f`}],np=[{x:40,y:200,width:80,height:70,box:`#1c6136`,lid:`#237a45`,ribbon:`#c8202f`},{x:128,y:222,width:60,height:48,box:`#c8202f`,lid:`#d63040`,ribbon:`#f3d488`},{x:54,y:162,width:50,height:38,box:`#d4a94e`,lid:`#e2bd63`,ribbon:`#9e1b22`}],rp=[{x:104,y:200,color:`#6b2fa0`},{x:122,y:198,color:`#9be36a`},{x:92,y:203,color:`#ffd23f`}],ip=[{x:56,y:0,scale:1},{x:34,y:120,scale:.55}].reverse(),ap=[{x:110,y:270,color:`#9be36a`},{x:204,y:272,color:`#6b2fa0`}],op=[{x:70,y:210,color:`#ffc8dd`},{x:150,y:210,color:`#fff1a8`},{x:96,y:200,color:`#cdb4ff`},{x:124,y:202,color:`#b8f0c8`},{x:110,y:214,color:`#a8dcff`}],sp=[12,48,86,118],cp=({x:e,y:t,color:n})=>g`<g>
|
|
1155
1155
|
<path d=${`M${e-14} ${t-5}L${e-8} ${t}L${e-14} ${t+5}ZM${e+14} ${t-5}L${e+8} ${t}L${e+14} ${t+5}Z`} fill=${n} />
|
|
1156
1156
|
<ellipse cx=${e} cy=${t} rx="9" ry="6" fill=${n} />
|
|
1157
|
-
</g>`,
|
|
1157
|
+
</g>`,lp=class extends z{constructor(...e){super(...e),this.raf=0}firstUpdated(){this.start()}disconnectedCallback(){super.disconnectedCallback(),cancelAnimationFrame(this.raf)}start(){let e=this.canvas;if(!e||P())return;let t=this.theme,n=e.getContext(`2d`),r=Math.min(2,devicePixelRatio);e.width=innerWidth*r,e.height=innerHeight*r,n.setTransform(r,0,0,r,0,0);let i=innerWidth,a=innerHeight,o=Qo[t].confetti,s={christmas:120,halloween:30,easter:46,august:0}[t],c=Array.from({length:s},()=>({x:T(0,i),y:T(-a,a),size:t===`christmas`?T(1,3.4):T(5,9),speed:t===`christmas`?T(18,55):T(26,60),drift:T(-12,12),phase:T(0,Math.PI*2),spin:T(-2,2),color:E(t===`halloween`?[`#c2561b`,`#8f3a12`,`#d98a2b`,`#6b2a10`]:o)})),l=t===`halloween`?Array.from({length:6},()=>({x:T(0,i),y:T(a*.15,a*.7),speed:T(50,110)*E([-1,1]),size:T(1,1.7),phase:T(0,6)})):[],u=[],d=600,f=performance.now(),p=e=>{let r=Math.min(.05,(e-f)/1e3);f=e;let s=e/1e3;n.clearRect(0,0,i,a);for(let e of c)e.y+=e.speed*r,e.x+=(e.drift+Math.sin(s*.9+e.phase)*14)*r,e.y>a+12&&Object.assign(e,{y:-12,x:T(0,i)}),t===`christmas`?Rf(n,e):zf(n,e,s,t);for(let e of l)e.x+=e.speed*r,e.x<-60&&(e.x=i+60),e.x>i+60&&(e.x=-60),Bf(n,e.x,e.y+Math.sin(s*1.6+e.phase)*18,e.size*Math.sign(e.speed),Math.sin(s*14+e.phase));if(t===`august`){if(d-=r*1e3,d<=0){d=T(900,2600);let e=T(i*.12,i*.88),t=T(a*.16,a*.45),n=E(o);for(let r=0;r<46;r++){let i=r/46*Math.PI*2,a=T(60,150);u.push({x:e,y:t,vx:Math.cos(i)*a,vy:Math.sin(i)*a,age:0,life:T(1.1,1.8),color:n})}}n.globalCompositeOperation=`lighter`;for(let e=u.length-1;e>=0;e--){let t=u[e];t.age+=r,t.age>t.life?u.splice(e,1):(t.vx*=.985,t.vy=t.vy*.985+40*r,t.x+=t.vx*r,t.y+=t.vy*r,n.globalAlpha=.5*(1-t.age/t.life),n.fillStyle=t.color,n.beginPath(),n.arc(t.x,t.y,1.8,0,Math.PI*2),n.fill())}n.globalCompositeOperation=`source-over`,n.globalAlpha=1}this.raf=requestAnimationFrame(p)};this.raf=requestAnimationFrame(p)}ground(e){return e===`christmas`?g`
|
|
1158
1158
|
<path d="M0 46Q35 34 70 44T140 46V80H0Z" fill="#cfdcec" />
|
|
1159
1159
|
<path d="M0 54Q35 44 70 52T140 54V80H0Z" fill="#f4f8fc" />`:e===`halloween`?g`
|
|
1160
1160
|
<path d="M0 52Q17 46 35 52T70 52T105 52T140 52V80H0Z" fill="#1d1220" />
|
|
1161
1161
|
<path d="M20 52l3-9 2 9M90 52l2-7 3 7M120 52l-2-8 4 8" stroke="#2e2036" stroke-width="2" fill="none" />`:e===`easter`?g`
|
|
1162
1162
|
<path d="M0 50Q17 42 35 50T70 50T105 50T140 50V80H0Z" fill="#4a8a3a" />
|
|
1163
1163
|
<path d="M0 58Q17 52 35 58T70 58T105 58T140 58V80H0Z" fill="#5e9e4a" />
|
|
1164
|
-
${
|
|
1164
|
+
${sp.map(e=>g`<g transform=${`translate(${e+8} ${62+e%3*4})`}>
|
|
1165
1165
|
${[1,2,3,4,5,6].map(e=>g`<circle cx=${Math.cos(e)*3} cy=${Math.sin(e)*3} r="2" fill="#fff" />`)}
|
|
1166
1166
|
<circle r="1.6" fill="#ffd23f" />
|
|
1167
1167
|
</g>`)}`:g`
|
|
@@ -1174,15 +1174,15 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1174
1174
|
<linearGradient id="lk-scene-fir" x1="0" x2="1"><stop offset="0" stop-color="#2f8a4e" /><stop offset="1" stop-color="#164226" /></linearGradient>
|
|
1175
1175
|
</defs>
|
|
1176
1176
|
<rect x="100" y="238" width="20" height="30" fill="#5a3418" />
|
|
1177
|
-
${
|
|
1177
|
+
${Qf.map(e=>g`<g>
|
|
1178
1178
|
<path d=${e.d} fill="url(#lk-scene-fir)" />
|
|
1179
1179
|
<path d=${e.snow} fill="none" stroke="#f4f8fc" stroke-width="4" stroke-linecap="round" opacity=".9" />
|
|
1180
1180
|
</g>`)}
|
|
1181
|
-
${
|
|
1182
|
-
${
|
|
1183
|
-
${
|
|
1184
|
-
${
|
|
1185
|
-
<polygon class="lk-scene-star" points=${
|
|
1181
|
+
${ep.map(e=>g`<path d=${e} fill="none" stroke="#f3d488" stroke-opacity=".6" />`)}
|
|
1182
|
+
${tp.map(e=>g`<circle cx=${e.x} cy=${e.y} r="6" fill=${e.color} />`)}
|
|
1183
|
+
${tp.map(e=>g`<circle cx=${e.x-2} cy=${e.y-2} r="1.8" fill="#fff" opacity=".7" />`)}
|
|
1184
|
+
${$f.map(e=>g`<circle class="lk-scene-light" cx=${e.x} cy=${e.y} r="2.6" fill=${e.color} style=${`--i: ${e.delay}`} />`)}
|
|
1185
|
+
<polygon class="lk-scene-star" points=${Zf} fill="#ffd86b" stroke="#fff4d6" stroke-width="1" />
|
|
1186
1186
|
<rect x="26" y="240" width="40" height="30" fill="#c8202f" />
|
|
1187
1187
|
<path d="M43 240h6v30h-6zM26 252h40v6h-40z" fill="#f3d488" />
|
|
1188
1188
|
<path d="M46 240c-12-12-20 0 0 0M46 240c12-12 20 0 0 0" stroke="#f3d488" stroke-width="3" fill="none" />
|
|
@@ -1224,7 +1224,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1224
1224
|
<path d="M72 196Q56 238 96 258" stroke="#3ec1c9" stroke-width="10" fill="none" />
|
|
1225
1225
|
<path d="M72 196Q56 238 96 258" stroke="#fff4e6" stroke-width="10" stroke-dasharray="6 6" fill="none" />`}right(e){return e===`christmas`?g`
|
|
1226
1226
|
<path d="M0 280Q40 262 90 268Q150 258 220 272V280Z" fill="#f4f8fc" />
|
|
1227
|
-
${
|
|
1227
|
+
${np.map(e=>g`<g transform="translate(16 0)">
|
|
1228
1228
|
<rect x=${e.x} y=${e.y} width=${e.width} height=${e.height} fill=${e.box} />
|
|
1229
1229
|
<rect x=${e.x-4} y=${e.y-4} width=${e.width+8} height="11" fill=${e.lid} />
|
|
1230
1230
|
<rect x=${e.x+e.width/2-4} y=${e.y-4} width="8" height=${e.height+4} fill=${e.ribbon} />
|
|
@@ -1232,21 +1232,21 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1232
1232
|
</g>`)}
|
|
1233
1233
|
<path d="M214 270V204Q214 188 200 188Q186 188 186 200" stroke="#fff" stroke-width="8" fill="none" stroke-linecap="round" />
|
|
1234
1234
|
<path d="M214 270V204Q214 188 200 188Q186 188 186 200" stroke="#c8202f" stroke-width="8" stroke-dasharray="6 6" fill="none" />`:e===`halloween`?g`
|
|
1235
|
-
${
|
|
1235
|
+
${ip.map(e=>g`<g transform=${`translate(${e.x} ${e.y}) scale(${e.scale})`}>
|
|
1236
1236
|
<path d="M62 210Q100 150 138 210" stroke="#1b1210" stroke-width="3" fill="none" />
|
|
1237
1237
|
<circle cx="82" cy="180" r="9" fill="#ff5fa2" />
|
|
1238
1238
|
<path d="M82 180m-5 0a5 5 0 1 1 10 0" stroke="#fff" stroke-width="1.5" fill="none" />
|
|
1239
1239
|
<line x1="84" y1="188" x2="88" y2="206" stroke="#fff4e6" stroke-width="2" />
|
|
1240
|
-
${
|
|
1240
|
+
${rp.map(cp)}
|
|
1241
1241
|
<path d="M60 210Q56 270 100 272Q144 270 140 210Z" fill="#e8781e" />
|
|
1242
1242
|
<ellipse cx="100" cy="210" rx="40" ry="8" fill="#b5520f" />
|
|
1243
1243
|
<path d="M80 228l8-8 4 10zM120 228l-8-8-4 10zM78 246q22 16 44 0l-6 3-5-4-6 5-5-5-5 5-6-5-5 4z" fill="#2a1208" />
|
|
1244
1244
|
</g>`)}
|
|
1245
|
-
${
|
|
1245
|
+
${ap.map(cp)}`:e===`easter`?g`
|
|
1246
1246
|
<ellipse cx="44" cy="262" rx="11" ry="14" fill="#ffc8dd" transform="rotate(-24 44 262)" />
|
|
1247
1247
|
<g transform="translate(34 0)">
|
|
1248
1248
|
<path d="M50 222Q110 116 170 222" stroke="#9a6a32" stroke-width="8" fill="none" />
|
|
1249
|
-
${
|
|
1249
|
+
${op.map(e=>g`<g>
|
|
1250
1250
|
<ellipse cx=${e.x} cy=${e.y} rx="13" ry="17" fill=${e.color} />
|
|
1251
1251
|
<path d=${`M${e.x-13} ${e.y}q6.5-4 13 0t13 0`} stroke="#fff" stroke-width="2" fill="none" opacity=".85" />
|
|
1252
1252
|
</g>`)}
|
|
@@ -1265,40 +1265,40 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1265
1265
|
<path d="M196 236a18 18 0 0 1 0 36a10 18 0 0 0 0-36Z" fill="#ff6f59" />
|
|
1266
1266
|
<path d="M196 236a18 18 0 0 0 0 36a10 18 0 0 1 0-36Z" fill="#3ec1c9" />
|
|
1267
1267
|
<path d="M196 236a10 18 0 0 1 0 36a4 18 0 0 0 0-36Z" fill="#ffd23f" />`}festoon(e,t){return e===`christmas`?g`
|
|
1268
|
-
<path d=${
|
|
1269
|
-
<path d=${
|
|
1270
|
-
${
|
|
1268
|
+
<path d=${Uf} class="lk-fes-fir" />
|
|
1269
|
+
<path d=${Uf} class="lk-fes-needles" />
|
|
1270
|
+
${Gf.map((e,t)=>g`<g transform=${`translate(${e.x} ${e.y})`}>
|
|
1271
1271
|
<line y2="7" class="lk-fes-thread" />
|
|
1272
1272
|
<circle cy="12" r="5" fill=${t===1?`#c8202f`:`#d4a94e`} />
|
|
1273
1273
|
<circle cx="-1.6" cy="10.4" r="1.4" fill="#fff" opacity=".6" />
|
|
1274
1274
|
</g>`)}
|
|
1275
|
-
${
|
|
1276
|
-
<path d=${
|
|
1277
|
-
<g transform=${`translate(${
|
|
1275
|
+
${qf.map((e,n)=>g`<circle cx=${e.x} cy=${e.y} r="1.8" class="lk-fes-light" style=${`--i: ${(t+n)%3}`} />`)}`:e===`halloween`?g`
|
|
1276
|
+
<path d=${Uf} class="lk-fes-string lk-fes-string--web" />
|
|
1277
|
+
<g transform=${`translate(${Gf[1].x} ${Gf[1].y})`}>
|
|
1278
1278
|
<line y2="5" class="lk-fes-thread" />
|
|
1279
1279
|
<ellipse cy="13" rx="9" ry="7.5" fill="#e0731f" />
|
|
1280
1280
|
<path d="M-3 7.5Q0 13 -3 20.5M3 7.5Q0 13 3 20.5" fill="none" stroke="#a84a10" stroke-width="1" />
|
|
1281
1281
|
<path d="M-1 4.5h2v2.5h-2z" fill="#3d5a1e" />
|
|
1282
1282
|
<path d="M-5.5 10.5l2.2-2 1.2 2.4zM5.5 10.5l-2.2-2-1.2 2.4zM-5 15.5q5 3.5 10 0l-2 1.6-1.4-1-1.6 1.2-1.6-1.2-1.4 1z" class="lk-fes-glow" />
|
|
1283
1283
|
</g>
|
|
1284
|
-
${[0,2].map(e=>g`<g transform=${`translate(${
|
|
1284
|
+
${[0,2].map(e=>g`<g transform=${`translate(${Gf[e].x} ${Gf[e].y+7}) scale(.5)`}>
|
|
1285
1285
|
<line y1="-14" y2="-4" class="lk-fes-thread" />
|
|
1286
1286
|
<path d="M0-4c-3 0-4 2-4 2-4-5-11-5-15-1 3 0 4 3 3 5 2-2 5-1 6 1 1-2 4-3 6-1 0 2 2 4 4 4s4-2 4-4c2-2 5-1 6 1 1-2 4-3 6-1-1-2 0-5 3-5-4-4-11-4-15 1 0 0-1-2-4-2z" fill="#5a2f78" stroke="#c48bff" stroke-opacity=".6" stroke-width="1.2" />
|
|
1287
1287
|
</g>`)}`:e===`easter`?g`
|
|
1288
|
-
<path d=${
|
|
1289
|
-
${
|
|
1288
|
+
<path d=${Uf} class="lk-fes-ribbon" />
|
|
1289
|
+
${Gf.map((e,n)=>g`<g transform=${`translate(${e.x} ${e.y})`}>
|
|
1290
1290
|
<line y2="5" class="lk-fes-thread" />
|
|
1291
|
-
<ellipse cy="13" rx="6" ry="8" fill=${
|
|
1291
|
+
<ellipse cy="13" rx="6" ry="8" fill=${Jf[(t+n)%3]} />
|
|
1292
1292
|
<path d="M-6 12q3-2.4 6 0t6 0" fill="none" stroke="#fff" stroke-width="1.4" opacity=".85" />
|
|
1293
1293
|
${[-3,0,3].map(e=>g`<circle cx=${e} cy="17" r=".9" fill="#fff" opacity=".85" />`)}
|
|
1294
1294
|
</g>`)}`:g`
|
|
1295
|
-
<path d=${
|
|
1296
|
-
${
|
|
1295
|
+
<path d=${Uf} class="lk-fes-string" />
|
|
1296
|
+
${Kf.map((e,t)=>g`<path d=${`M${e.x-6} ${e.y}h12l-6 13z`} fill=${Yf[t]} transform=${`rotate(${(2.5-t)*6} ${e.x} ${e.y})`} />`)}`}render(){let e=this.theme,t=Hf.length*Vf;return h`
|
|
1297
1297
|
<canvas class="lk-theme-sky" aria-hidden="true"></canvas>
|
|
1298
1298
|
<div class="lk-scene lk-scene--${e}" aria-hidden="true">
|
|
1299
1299
|
<div class="lk-scene-ground">
|
|
1300
1300
|
<svg viewBox="0 0 ${t} 80" width=${t} height="80" preserveAspectRatio="xMinYMax meet">
|
|
1301
|
-
${
|
|
1301
|
+
${Hf.map(t=>g`<g transform=${`translate(${t} 0)`}>${this.ground(e)}</g>`)}
|
|
1302
1302
|
</svg>
|
|
1303
1303
|
</div>
|
|
1304
1304
|
|
|
@@ -1315,17 +1315,17 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1315
1315
|
</div>
|
|
1316
1316
|
<div class="lk-festoon lk-festoon--${e}" aria-hidden="true">
|
|
1317
1317
|
<svg viewBox="0 0 ${t} 40" width=${t} height="40">
|
|
1318
|
-
${
|
|
1318
|
+
${Hf.map((t,n)=>g`<g transform=${`translate(${t} 0)`}>${this.festoon(e,n)}</g>`)}
|
|
1319
1319
|
</svg>
|
|
1320
1320
|
</div>
|
|
1321
|
-
`}},L([b({attribute:!1})],
|
|
1321
|
+
`}},L([b({attribute:!1})],lp.prototype,`theme`,void 0),L([S(`.lk-theme-sky`)],lp.prototype,`canvas`,void 0),lp=L([y(`fl-theme`)],lp)})),dp,fp=n((()=>{Gr(),pi(),wi(),dp=di(class extends fi{constructor(e){if(super(e),e.type!==ui.PROPERTY&&e.type!==ui.ATTRIBUTE&&e.type!==ui.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!gi(e))throw Error("`live` bindings can only contain a single expression")}render(e){return e}update(e,[t]){if(t===Ar||t===_)return t;let n=e.element,r=e.name;if(e.type===ui.PROPERTY){if(t===n[r])return Ar}else if(e.type===ui.BOOLEAN_ATTRIBUTE){if(!!t===n.hasAttribute(r))return Ar}else if(e.type===ui.ATTRIBUTE&&n.getAttribute(r)===t+``)return Ar;return xi(e),t}})})),pp=n((()=>{fp()}));function mp(e){let t=e.indexOf(`:`);return{tier:e.slice(0,t),award:e.slice(t+1)||null}}async function hp(e,t){let n=await crypto.subtle.digest(`SHA-256`,new TextEncoder().encode(e));return[...new Uint8Array(n)].map(e=>e.toString(16).padStart(2,`0`)).join(``)===t.toLowerCase()}var gp,_p,vp,yp,X,bp,xp,Z,Sp,Cp=n((()=>{N(),gp=[`automatic`,`loss`,`win`,`jackpot`],_p={wheel:[`segment`,`booster`,`prize`],slot:[`combination`,`prize`],roulette:[`number`,`storm`],pachinko:[`pocket`,`violet`],scratch:[`award`,`prize`],blackjack:[`prize`],holdem:[`prize`]},vp=[`segment`,`combination`,`number`,`pocket`,`award`],yp={},X={prizes:[]},bp=()=>({multiplier:void 0,variant:void 0,result:`automatic`,advanced:{}}),xp={slot:ds,scratch:us},Z=e=>yp[e]??bp(),Sp={none:`none`,pair:`small`,logos:`big`,sevens:`big`,infinities:`jackpot`}}));function wp(e,t){let{result:n,advanced:r}=Z(e);if(e===`wheel`&&r.segment){let e=r.segment.split(`:`)[0];return e===`coin`||e===`hunt`||e===`pachinko`?t()===`big`?`big`:`small`:e}return e===`slot`&&r.combination?Sp[r.combination]:e===`pachinko`&&r.pocket?Nu[Number(r.pocket)-1]:e===`scratch`&&r.award?mp(r.award).tier:Ep[n]??t()}function Tp(e,t){let n=Math.min(...e.map(e=>e.x))+16,r=Math.max(...e.map(e=>e.x))-16,i=(n+r)/2;return[...new Set(e.map(e=>e.y))].sort((e,t)=>e-t).slice(1,1+t).flatMap(t=>{let a=Math.max(n,Math.min(r,i+T(-25,25))),o=e.filter(e=>e.y===t).sort((e,t)=>Math.abs(e.x-a)-Math.abs(t.x-a))[0];return o?(i=o.x,[o]):[]})}var Ep,Dp,Op,kp,Ap=n((()=>{A(),Lu(),k(),yl(),Gs(),Cp(),Ep={automatic:void 0,loss:`none`,win:`small`,jackpot:`jackpot`},Dp=Nu.indexOf(`jackpot`),Op=()=>Z(`pachinko`).result===`jackpot`&&!Z(`pachinko`).advanced.pocket,kp={boost:({game:e},t)=>Z(e).multiplier??t(),tier:({game:e},t)=>wp(e,t),prize:({game:e,prizeIds:t},n)=>{let{prize:r,award:i}=Z(e).advanced;if(r&&t.includes(r))return r;if(e!==`scratch`||!i)return n();let{tier:a,award:o}=mp(i),s=xo(X.prizes.filter(({id:e})=>t.includes(e)),a,o);return s.length?E(s).id:n()},"wheel.segment":({segments:e},t)=>{let n=Z(`wheel`).advanced.segment,r=n?e.flatMap((e,t)=>Us(e)===n?[t]:[]):[];return r.length?E(r):t()},"wheel.booster":({segments:e},t)=>{let n=Z(`wheel`).advanced.booster;return n&&Ws(e).includes(n)?n:t()},"slot.line":({prizeId:e},t)=>{let{combination:n}=Z(`slot`).advanced,r=n===`logos`?e:n===`sevens`?`seven`:void 0;return r?[r,r,r]:t()},"roulette.number":({bets:e,storm:t,boost:n},r)=>{let{result:i,advanced:a}=Z(`roulette`);if(a.number)return Number(a.number);let o=Ep[i];if(!o&&!a.storm)return r();let s=ol.filter(n=>{let r=al(e,n)?.tier??`none`;return(!o||(o===`small`?r!==`none`:r===o))&&(!a.storm||t.includes(n)===(a.storm===`hit`))});return s.length?E(s.flatMap(e=>Array(t.includes(e)?n:1).fill(e))):r()},"pachinko.board":({pegs:e},t)=>{let n=t();if(!Op())return n;let[r,i]=Pu,a=e=>e.y>=r&&e.y<=i;if(Z(`pachinko`).advanced.violet===`hit`){let t=Tp(e,9),n=E(t.filter(a));return{violet:n,reds:t.filter(e=>e!==n)}}let o=Tp(e,8),s=e.filter(e=>!o.includes(e)&&a(e));return{violet:s.includes(n.violet)?n.violet:E(s),reds:o}},"pachinko.route":({violet:e,reds:t},n)=>{let{violet:r}=Z(`pachinko`).advanced;return!Op()&&!r?n():{through:[...Op()?t:[],...r===`hit`?[e]:[]].sort((e,t)=>e.y-t.y),avoid:r===`miss`?[e]:[]}},"pachinko.wins":(e,t)=>{let n=Ep[Z(`pachinko`).result];return n?n!==`none`:t()},"pachinko.pocket":(e,t)=>{let{pocket:n}=Z(`pachinko`).advanced;return n?Number(n)-1:Op()?Dp:t()},"scratch.ticket":(e,t)=>Z(`scratch`).variant??t(),locale:(e,t)=>X.locale??t(),multiplayer:(e,t)=>!X.singlePlayer&&t(),dealer:({count:e},t)=>X.dealer===void 0?t():X.dealer===`none`?null:X.dealer<e?X.dealer:t(),theme:(e,t)=>X.theme===void 0?t():X.theme===`none`?null:X.theme,"slot.machine":(e,t)=>Z(`slot`).variant??t(),"breakaway.tackle":(e,t)=>Ep[Z(`slot`).result]&&Ep[Z(`slot`).result]!==`none`?null:t(),"scratch.award":(e,t)=>{let{award:n}=Z(`scratch`).advanced;return n?mp(n).award:t()}}})),jp=r({Developer:()=>Q}),Mp,Np,Pp,Fp,Q,Ip=n((()=>{v(),C(),Di(),pp(),w(),A(),Lu(),Po(),ts(),N(),Gs(),B(),H(),Ap(),Cp(),R(),Mp=`feeling-lucky.developer`,Np=8,Pp=[`small`,`big`,`coin`,`hunt`,`pachinko`,`jackpot`],Fp=!1,Q=class extends z{constructor(){super(),this.open=!0,this.unlocked=Fp,this.password=``,this.wrong=!1,this.minimized=!1,this.position={x:innerWidth-416-16,y:108},this.selected=`wheel`,this.draft=bp(),this.loads=0,this.advancedOpen=!1,this.drag=null,this.dragged=!1,this.lastFocus=null,this.grab=e=>{if(e.button!==0||!this.minimized&&e.target.closest(`button`))return;let t=this.box.getBoundingClientRect();this.drag={offsetX:e.clientX-t.left,offsetY:e.clientY-t.top,startX:e.clientX,startY:e.clientY},this.dragged=!1,e.currentTarget.setPointerCapture(e.pointerId)},this.move=e=>{this.drag&&(!this.dragged&&Math.hypot(e.clientX-this.drag.startX,e.clientY-this.drag.startY)<4||(this.dragged=!0,this.place(e.clientX-this.drag.offsetX,e.clientY-this.drag.offsetY)))},this.release=()=>{this.drag&&this.dragged&&this.save(),this.drag=null},this.restore=()=>{this.dragged?this.dragged=!1:this.minimize(!1)},this.unlock=async e=>{e.preventDefault();let t=this.password;this.password=``,this.wrong=!await hp(t,this.passwordHash??``),!this.wrong&&(this.grant(),this.focusFirst())},this.apply=()=>{let e=Object.fromEntries(Object.entries(this.draft.advanced).filter(([,e])=>e!==void 0));this.draft.multiplier!==void 0||this.draft.variant!==void 0||this.draft.result!==`automatic`||Object.keys(e).length?yp[this.selected]={...this.draft,advanced:e}:delete yp[this.selected],ko(this.selected)},this.reset=()=>{for(let e of ss)delete yp[e];this.load(this.selected),ko(this.selected)},this.toggle=()=>{this.open=!this.open,this.open?(this.lastFocus=this.activeElement,this.focusFirst()):this.lastFocus instanceof HTMLElement&&this.lastFocus.isConnected&&this.lastFocus.focus()},this.shortcut=e=>{e.ctrlKey&&e.shiftKey&&e.code===`KeyL`&&(e.preventDefault(),e.stopPropagation(),e.repeat||this.toggle())},this.keydown=e=>{e.stopPropagation(),e.key===`Escape`&&this.toggle()},this.fit=()=>this.place(this.position.x,this.position.y),this.segmentOption=e=>{if(e===`none`)return{value:e,label:this.t(`developer.option.nothing`)};if(e===`jackpot`)return{value:e,label:this.t(`developer.jackpot`)};if(e===`coin`||e===`hunt`||e===`pachinko`)return{value:e,label:this.t(`wheel.segment.${e}`)};let{tier:t,award:n}=mp(e);return{value:e,label:this.awardLabel(t,n)}},this.selectGame=e=>{this.selected=e.target.value,this.load(this.selected)};try{let e=JSON.parse(localStorage.getItem(Mp)??`null`);e&&(this.position={x:e.x,y:e.y},this.minimized=e.minimized)}catch{}this.load(this.selected)}willUpdate(){X.prizes=this.room.prizes,!this.unlocked&&this.passwordHash===void 0&&this.grant()}get activeElement(){return this.getRootNode().activeElement}load(e){this.draft=structuredClone(Z(e)),this.loads++}save(){try{localStorage.setItem(Mp,JSON.stringify({...this.position,minimized:this.minimized}))}catch{}}place(e,t){let n=this.box?.offsetWidth??0,r=this.box?.offsetHeight??0;this.position={x:Math.max(Np,Math.min(innerWidth-n-Np,e)),y:Math.max(Np,Math.min(innerHeight-r-Np,t))}}async focusFirst(){await this.updateComplete,this.place(this.position.x,this.position.y),(this.minimized&&this.unlocked?this.iconButton:this.first)?.focus()}minimize(e){this.minimized=e,this.save(),this.focusFirst()}grant(){Oo(kp),this.unlocked=Fp=!0}setLanguage(e){X.locale=e||void 0,No.value++}setDealer(e){X.dealer=e===``?void 0:e===`none`?`none`:Number(e),No.value++,this.requestUpdate()}setTables(e){X.singlePlayer=e===`single`||void 0,No.value++,this.requestUpdate()}setTheme(e){X.theme=e||void 0,No.value++,this.requestUpdate()}connectedCallback(){super.connectedCallback(),this.lastFocus=this.activeElement,addEventListener(`keydown`,this.shortcut,!0),addEventListener(`resize`,this.fit)}firstUpdated(){this.focusFirst()}disconnectedCallback(){super.disconnectedCallback(),removeEventListener(`keydown`,this.shortcut,!0),removeEventListener(`resize`,this.fit)}awardLabel(e,t){return this.t(`developer.option.award`,{tier:this.t(`tier.${e}`),award:this.room.award(e,t)})}options(e){let t=(e,t)=>[{value:`hit`,label:this.t(`developer.option.${e}`)},{value:`miss`,label:this.t(`developer.option.${t}`)}],n=()=>Ws(Fs(this.room.board)).sort((e,t)=>Pp.indexOf(e.split(`:`)[0])-Pp.indexOf(t.split(`:`)[0]));switch(e){case`segment`:return[`none`,...n()].map(this.segmentOption);case`booster`:return n().map(this.segmentOption);case`prize`:return this.room.prizes.map(e=>({value:e.id,label:e.name}));case`combination`:return[`none`,`pair`,`logos`,`sevens`,`infinities`].map(e=>({value:e,label:this.t(`developer.option.${e}`)}));case`number`:return Array.from({length:37},(e,t)=>({value:String(t),label:String(t)}));case`storm`:return t(`lands`,`misses`);case`violet`:return t(`hit`,`miss`);case`pocket`:return Nu.map((e,t)=>({value:String(t+1),label:this.t(`developer.option.pocket`,{n:t+1})}));case`award`:return Co.flatMap(e=>this.room.board[e].map(t=>({value:Do(e,t),label:this.awardLabel(e,t)})))}}change(e,t){this.draft={...this.draft,[e]:t}}changeAdvanced(e,t){this.draft={...this.draft,advanced:{...this.draft.advanced,[e]:t||void 0}}}choices(e,t,n){return h`<option value="" ?selected=${t===void 0}>${n}</option>
|
|
1322
1322
|
${e.map(e=>h`<option value=${e.value} ?selected=${e.value===t}>${e.label}</option>`)}`}renderBody(){if(!this.unlocked)return h`<form class="lk-dev-body" @submit=${this.unlock}>
|
|
1323
1323
|
<label class="lk-dev-row">${this.t(`developer.password`)}
|
|
1324
1324
|
<input
|
|
1325
1325
|
data-first
|
|
1326
1326
|
type="password"
|
|
1327
1327
|
autocomplete="off"
|
|
1328
|
-
.value=${
|
|
1328
|
+
.value=${dp(this.password)}
|
|
1329
1329
|
aria-invalid=${this.wrong}
|
|
1330
1330
|
aria-describedby=${this.wrong?`lk-dev-wrong`:_}
|
|
1331
1331
|
@input=${e=>{this.password=e.target.value,this.wrong=!1}}
|
|
@@ -1333,13 +1333,13 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1333
1333
|
</label>
|
|
1334
1334
|
${this.wrong?h`<p id="lk-dev-wrong" class="lk-dev-error" role="alert">${this.t(`developer.wrongPassword`)}</p>`:_}
|
|
1335
1335
|
<footer>
|
|
1336
|
-
<button type="submit" class="is-primary" ?disabled=${!this.password}>${V(
|
|
1336
|
+
<button type="submit" class="is-primary" ?disabled=${!this.password}>${V(Ma)}${this.t(`developer.unlock`)}</button>
|
|
1337
1337
|
</footer>
|
|
1338
|
-
</form>`;let{selected:e,draft:t}=this,n=
|
|
1338
|
+
</form>`;let{selected:e,draft:t}=this,n=_p[e].find(e=>vp.includes(e)&&t.advanced[e]!==void 0),r=xp[e],i=e=>e.target.value;return h`<div class="lk-dev-body">
|
|
1339
1339
|
<p class="lk-dev-hint">${this.t(`developer.hint`)}</p>
|
|
1340
1340
|
<label class="lk-dev-row">${this.t(`developer.theme`)}
|
|
1341
1341
|
<select data-first @change=${e=>this.setTheme(i(e))}>
|
|
1342
|
-
${this.choices([{value:`none`,label:this.t(`developer.noTheme`)},...
|
|
1342
|
+
${this.choices([{value:`none`,label:this.t(`developer.noTheme`)},...qo.map(e=>({value:e,label:this.t(`themes.${e}.name`)}))],X.theme,this.t(`developer.calendar`))}
|
|
1343
1343
|
</select>
|
|
1344
1344
|
</label>
|
|
1345
1345
|
<label class="lk-dev-row">${this.t(`developer.language`)}
|
|
@@ -1347,6 +1347,11 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1347
1347
|
${this.choices(this.room.locales.map(e=>({value:e,label:new Intl.DisplayNames([e],{type:`language`}).of(e)??e})),X.locale,this.t(`developer.autoLanguage`))}
|
|
1348
1348
|
</select>
|
|
1349
1349
|
</label>
|
|
1350
|
+
${this.room.multiplayer?h`<label class="lk-dev-row">${this.t(`developer.tables`)}
|
|
1351
|
+
<select @change=${e=>this.setTables(i(e))}>
|
|
1352
|
+
${this.choices([{value:`single`,label:this.t(`developer.singlePlayer`)}],X.singlePlayer?`single`:void 0,this.t(`developer.multiplayer`))}
|
|
1353
|
+
</select>
|
|
1354
|
+
</label>`:_}
|
|
1350
1355
|
${this.room.dealers.length?h`<label class="lk-dev-row">${this.t(`developer.dealer`)}
|
|
1351
1356
|
<select @change=${e=>this.setDealer(i(e))}>
|
|
1352
1357
|
${this.choices([{value:`none`,label:this.t(`developer.dealerAbsent`)},...this.room.dealers.map((e,t)=>({value:String(t),label:e.name??this.t(`developer.dealerNumber`,{n:t+1})}))],X.dealer===void 0?void 0:String(X.dealer),this.t(`developer.dealerShifts`))}
|
|
@@ -1354,10 +1359,10 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1354
1359
|
</label>`:_}
|
|
1355
1360
|
<label class="lk-dev-row">${this.t(`developer.game`)}
|
|
1356
1361
|
<select @change=${this.selectGame}>
|
|
1357
|
-
${
|
|
1362
|
+
${ss.map(t=>h`<option value=${t} ?selected=${t===e}>${this.t(`games.${t}.name`)}</option>`)}
|
|
1358
1363
|
</select>
|
|
1359
1364
|
</label>
|
|
1360
|
-
${
|
|
1365
|
+
${Ti(this.loads,h`<label class="lk-dev-row">${this.t(`developer.multiplier`)}
|
|
1361
1366
|
<select @change=${e=>this.change(`multiplier`,Number(i(e))||void 0)}>
|
|
1362
1367
|
${this.choices([1,2,3,4,5].map(e=>({value:String(e),label:`×${e}`})),t.multiplier?.toString(),this.t(`developer.daily`))}
|
|
1363
1368
|
</select>
|
|
@@ -1369,18 +1374,18 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1369
1374
|
</label>`:_}
|
|
1370
1375
|
<label class="lk-dev-row">${this.t(`developer.result`)}
|
|
1371
1376
|
<select ?disabled=${!!n} @change=${e=>this.change(`result`,i(e))}>
|
|
1372
|
-
${
|
|
1377
|
+
${gp.map(e=>h`<option value=${e} ?selected=${e===t.result}>${this.t(`developer.${e}`)}</option>`)}
|
|
1373
1378
|
</select>
|
|
1374
1379
|
</label>
|
|
1375
1380
|
${n?h`<p class="lk-dev-note">${this.t(`developer.decidedBy`,{field:this.t(`developer.field.${n}`)})}</p>`:_}
|
|
1376
1381
|
|
|
1377
1382
|
<details
|
|
1378
1383
|
class="lk-dev-advanced"
|
|
1379
|
-
?open=${this.advancedOpen||
|
|
1384
|
+
?open=${this.advancedOpen||_p[e].some(e=>t.advanced[e]!==void 0)}
|
|
1380
1385
|
@toggle=${e=>this.advancedOpen=e.target.open}
|
|
1381
1386
|
>
|
|
1382
|
-
<summary>${V(
|
|
1383
|
-
${
|
|
1387
|
+
<summary>${V(Wi)}${this.t(`developer.advanced`)}</summary>
|
|
1388
|
+
${_p[e].map(e=>h`<label class="lk-dev-row">${this.t(`developer.field.${e}`)}
|
|
1384
1389
|
<select @change=${t=>this.changeAdvanced(e,i(t))}>
|
|
1385
1390
|
${this.choices(this.options(e),t.advanced[e],this.t(`developer.automatic`))}
|
|
1386
1391
|
</select>
|
|
@@ -1389,8 +1394,8 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1389
1394
|
</details>`)}
|
|
1390
1395
|
|
|
1391
1396
|
<footer>
|
|
1392
|
-
<button type="button" @click=${this.reset}>${V(
|
|
1393
|
-
<button type="button" class="is-primary" @click=${this.apply}>${V(
|
|
1397
|
+
<button type="button" @click=${this.reset}>${V(Ka)}${this.t(`developer.reset`)}</button>
|
|
1398
|
+
<button type="button" class="is-primary" @click=${this.apply}>${V(Hi)}${this.t(`developer.apply`)}</button>
|
|
1394
1399
|
</footer>
|
|
1395
1400
|
</div>`}render(){if(!this.open)return _;let e=this.unlocked&&this.minimized;return h`<div class="lk-dev ${e?`is-icon`:``}" style="left: ${this.position.x}px; top: ${this.position.y}px" @keydown=${this.keydown}>
|
|
1396
1401
|
${e?h`<button
|
|
@@ -1404,19 +1409,166 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1404
1409
|
@pointercancel=${this.release}
|
|
1405
1410
|
@click=${this.restore}
|
|
1406
1411
|
>
|
|
1407
|
-
${V(
|
|
1412
|
+
${V(ia)}
|
|
1408
1413
|
</button>`:h`<section class="lk-dev-panel" aria-label=${this.t(`developer.title`)}>
|
|
1409
1414
|
<header @pointerdown=${this.grab} @pointermove=${this.move} @pointerup=${this.release} @pointercancel=${this.release}>
|
|
1410
|
-
${V(
|
|
1411
|
-
<strong>${V(
|
|
1415
|
+
${V(ba,`lk-dev-grip`)}
|
|
1416
|
+
<strong>${V(ia)}${this.t(`developer.title`)}</strong>
|
|
1412
1417
|
${this.unlocked?h`<button type="button" aria-label=${this.t(`developer.minimize`)} title=${this.t(`developer.minimize`)} @click=${()=>this.minimize(!0)}>
|
|
1413
|
-
${V(
|
|
1418
|
+
${V(Ra)}
|
|
1414
1419
|
</button>`:_}
|
|
1415
|
-
<button type="button" aria-label=${this.t(`developer.close`)} title=${this.t(`developer.close`)} @click=${this.toggle}>${V(
|
|
1420
|
+
<button type="button" aria-label=${this.t(`developer.close`)} title=${this.t(`developer.close`)} @click=${this.toggle}>${V(po)}</button>
|
|
1416
1421
|
</header>
|
|
1417
1422
|
${this.renderBody()}
|
|
1418
1423
|
</section>`}
|
|
1419
|
-
</div>`}},L([b({attribute:!1})],Q.prototype,`passwordHash`,void 0),L([x()],Q.prototype,`open`,void 0),L([x()],Q.prototype,`unlocked`,void 0),L([x()],Q.prototype,`password`,void 0),L([x()],Q.prototype,`wrong`,void 0),L([x()],Q.prototype,`minimized`,void 0),L([x()],Q.prototype,`position`,void 0),L([x()],Q.prototype,`selected`,void 0),L([x()],Q.prototype,`draft`,void 0),L([x()],Q.prototype,`loads`,void 0),L([x()],Q.prototype,`advancedOpen`,void 0),L([S(`.lk-dev`)],Q.prototype,`box`,void 0),L([S(`.lk-dev [data-first]`)],Q.prototype,`first`,void 0),L([S(`.lk-dev-icon`)],Q.prototype,`iconButton`,void 0),Q=L([y(`fl-developer`)],Q)})),Mp,Np,Pp,$,Fp=n((()=>{Mn(),v(),C(),Ei(),Pi(),w(),A(),k(),Ro(),ko(),Xo(),N(),hs(),xs(),Zt(),B(),H(),F(),ks(),As(),zt(),sf(),uf(),Mf(),ap(),R(),Mp={wheel:`fl-wheel`,slot:`fl-slot`,roulette:`fl-roulette`,pachinko:`fl-pachinko`,scratch:`fl-scratch`,blackjack:`fl-blackjack`,holdem:`fl-holdem`},Np=e=>e===`slot`&&M(`slot`)>1?us()===`takeoff`?`fl-takeoff`:`fl-breakaway`:Mp[e],Pp=vs(700,450,1.4),$=class extends z{constructor(){super(),this.origin={x:innerWidth/2,y:innerHeight/2},this.phase=`closed`,this.view=`lobby`,this.lobbyPage=0,this.options={},this.round=0,this.certificate=null,this.banner=null,this.celebrating=null,this.soundOn=U.enabled,this.developerLoaded=!1,this.lightsFrame=0,this.dutyCheck=-1,this.dutyClock=0,this.ambient=0,this.boost=0,this.onKey=e=>{this.config.developer&&!this.developerLoaded&&e.ctrlKey&&e.shiftKey&&e.code===`KeyL`?(e.preventDefault(),e.stopPropagation(),Promise.resolve().then(()=>(jp(),Ep)).then(()=>this.developerLoaded=!0)):e.key!==`Escape`||this.banner||(this.certificate?this.certificate=null:this.view===`lobby`?this.close():this.go(`lobby`))},this.previousOverflow=``,this.watch(Kt,Do,Oo,Lo)}get theme(){return Ko()}willUpdate(e){let t=this.locale();Yt(t)||Xt(t).then(()=>this.requestUpdate(),()=>void 0),(e.has(`config`)||this.dutyCheck!==Oo.value)&&(Io.value=this.dealers.length,this.dutyCheck=Oo.value,Mo()),(!this.room||Yt(t)&&(e.has(`config`)||this.room.locale!==t))&&(this.room=this.context()),I.confetti=this.theme?qo[this.theme].confetti:void 0;let n=Do.value;n&&(Do.value=void 0,this.banner=null,this.celebrating=null,this.boost=0,this.go(n.game))}get dealers(){return this.config.dealers??[{image:`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20900%20735'%3e%3cdefs%3e%3clinearGradient%20id='skin'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%23f1c6a8'/%3e%3cstop%20offset='1'%20stop-color='%23e0a888'/%3e%3c/linearGradient%3e%3clinearGradient%20id='shirt'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%23fbf7f0'/%3e%3cstop%20offset='1'%20stop-color='%23e6ddd0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='vest'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%237e1a26'/%3e%3cstop%20offset='1'%20stop-color='%234c0d16'/%3e%3c/linearGradient%3e%3clinearGradient%20id='hair'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%235a2f1f'/%3e%3cstop%20offset='1'%20stop-color='%232e1710'/%3e%3c/linearGradient%3e%3c/defs%3e%3c!--%20bun%20behind%20the%20head%20--%3e%3cellipse%20cx='450'%20cy='58'%20rx='62'%20ry='50'%20fill='url(%23hair)'/%3e%3c!--%20shoulders%20and%20sleeves%20--%3e%3cpath%20d='M248%20350%20Q300%20318%20372%20308%20L528%20308%20Q600%20318%20652%20350%20Q706%20388%20716%20480%20L790%20640%20Q735%20668%20690%20640%20L640%20700%20L260%20700%20L210%20640%20Q165%20668%20110%20640%20L184%20480%20Q194%20388%20248%20350Z'%20fill='url(%23shirt)'/%3e%3cpath%20d='M262%20600%20Q246%20470%20292%20380%20M638%20600%20Q654%20470%20608%20380'%20fill='none'%20stroke='%23d9cdbd'%20stroke-width='5'/%3e%3c!--%20vest%20--%3e%3cpath%20d='M300%20340%20L405%20330%20L450%20520%20L495%20330%20L600%20340%20Q640%20420%20634%20600%20L640%20700%20L260%20700%20L266%20600%20Q260%20420%20300%20340Z'%20fill='url(%23vest)'/%3e%3cpath%20d='M405%20330%20L450%20520%20L495%20330'%20fill='none'%20stroke='%23d4a94e'%20stroke-width='6'%20stroke-linejoin='round'/%3e%3cpath%20d='M300%20340%20Q262%20420%20266%20600%20M600%20340%20Q638%20420%20634%20600'%20fill='none'%20stroke='%23d4a94e'%20stroke-width='4'%20opacity='.7'/%3e%3ccircle%20cx='450'%20cy='545'%20r='7'%20fill='%23e2bd63'/%3e%3ccircle%20cx='450'%20cy='580'%20r='7'%20fill='%23e2bd63'/%3e%3c!--%20shirt%20front%20and%20collar%20--%3e%3cpath%20d='M405%20330%20L450%20520%20L495%20330%20Z'%20fill='url(%23shirt)'/%3e%3cpath%20d='M392%20300%20L450%20340%20L508%20300%20L520%20330%20L450%20370%20L380%20330%20Z'%20fill='%23fffdf8'%20stroke='%23d9cdbd'%20stroke-width='3'/%3e%3c!--%20neck%20--%3e%3cpath%20d='M410%20250%20L410%20312%20Q450%20336%20490%20312%20L490%20250%20Z'%20fill='url(%23skin)'/%3e%3cpath%20d='M410%20296%20Q450%20318%20490%20296'%20fill='none'%20stroke='%23c98d70'%20stroke-width='3'%20opacity='.6'/%3e%3c!--%20bow%20tie%20--%3e%3cpath%20d='M450%20330%20L404%20306%20L404%20354%20Z%20M450%20330%20L496%20306%20L496%20354%20Z'%20fill='%2317120e'/%3e%3crect%20x='438'%20y='318'%20width='24'%20height='24'%20rx='6'%20fill='%232a211b'/%3e%3c!--%20head%20--%3e%3cellipse%20cx='450'%20cy='172'%20rx='92'%20ry='112'%20fill='url(%23skin)'/%3e%3cellipse%20cx='358'%20cy='182'%20rx='14'%20ry='24'%20fill='%23e7b293'/%3e%3cellipse%20cx='542'%20cy='182'%20rx='14'%20ry='24'%20fill='%23e7b293'/%3e%3ccircle%20cx='356'%20cy='214'%20r='6'%20fill='%23e2bd63'/%3e%3ccircle%20cx='544'%20cy='214'%20r='6'%20fill='%23e2bd63'/%3e%3c!--%20hair,%20swept%20back%20with%20a%20side%20part%20--%3e%3cpath%20d='M352%20196%20Q340%2070%20450%2056%20Q562%2062%20548%20196%20Q540%20120%20504%20100%20Q452%20136%20378%20122%20Q360%20150%20352%20196Z'%20fill='url(%23hair)'/%3e%3cpath%20d='M420%2066%20Q470%2064%20520%2096'%20fill='none'%20stroke='%237a4a33'%20stroke-width='5'%20stroke-linecap='round'/%3e%3c!--%20face%20--%3e%3cpath%20d='M392%20158%20Q410%20148%20428%20156%20M472%20156%20Q490%20148%20508%20158'%20fill='none'%20stroke='%233a2016'%20stroke-width='6'%20stroke-linecap='round'/%3e%3cpath%20d='M396%20184%20Q410%20174%20426%20184%20Q410%20192%20396%20184Z%20M474%20184%20Q490%20174%20504%20184%20Q490%20192%20474%20184Z'%20fill='%232a1a12'/%3e%3ccircle%20cx='413'%20cy='182'%20r='3'%20fill='%23fff'%20opacity='.8'/%3e%3ccircle%20cx='491'%20cy='182'%20r='3'%20fill='%23fff'%20opacity='.8'/%3e%3cpath%20d='M450%20192%20Q444%20222%20452%20232'%20fill='none'%20stroke='%23c98d70'%20stroke-width='4'%20stroke-linecap='round'/%3e%3cellipse%20cx='402'%20cy='218'%20rx='20'%20ry='11'%20fill='%23e88f80'%20opacity='.28'/%3e%3cellipse%20cx='498'%20cy='218'%20rx='20'%20ry='11'%20fill='%23e88f80'%20opacity='.28'/%3e%3cpath%20d='M424%20250%20Q450%20262%20476%20250%20Q450%20272%20424%20250Z'%20fill='%23b4434a'/%3e%3c!--%20forearms%20resting%20on%20the%20rim,%20hands%20joined%20in%20front%20--%3e%3cpath%20d='M110%20640%20Q160%20610%20210%20640%20L420%20676%20Q440%20704%20420%20722%20L150%20712%20Q96%20700%20110%20640Z'%20fill='url(%23shirt)'/%3e%3cpath%20d='M790%20640%20Q740%20610%20690%20640%20L480%20676%20Q460%20704%20480%20722%20L750%20712%20Q804%20700%20790%20640Z'%20fill='url(%23shirt)'/%3e%3cpath%20d='M396%20668%20L420%20676%20L420%20722%20L396%20718%20Z%20M504%20668%20L480%20676%20L480%20722%20L504%20718%20Z'%20fill='%23fffdf8'%20stroke='%23d9cdbd'%20stroke-width='3'/%3e%3ccircle%20cx='406'%20cy='694'%20r='5'%20fill='%23e2bd63'/%3e%3ccircle%20cx='494'%20cy='694'%20r='5'%20fill='%23e2bd63'/%3e%3cpath%20d='M418%20674%20Q452%20652%20486%20674%20Q500%20700%20482%20720%20Q450%20734%20418%20720%20Q400%20700%20418%20674Z'%20fill='url(%23skin)'/%3e%3cpath%20d='M432%20680%20Q450%20668%20468%20680%20M428%20694%20Q450%20684%20472%20694%20M430%20708%20Q450%20700%20470%20708'%20fill='none'%20stroke='%23c98d70'%20stroke-width='3'%20stroke-linecap='round'%20opacity='.7'/%3e%3c/svg%3e`}]}locale(){return j(`locale`,{},()=>this.config.locale??Kt.value)}context(){let{prizes:e,player:t,messages:n}=this.config,r=this.locale(),i=Wt(r,n),a=new Map(e.map((e,t)=>[e.id,{prize:e,index:t}])),o=t=>a.get(t)??{prize:e[0],index:0};return{prizes:e,prizeIds:e.map(e=>e.id),board:mo(e),player:t,dealers:this.dealers,locale:r,locales:[...new Set([...Ft,...Object.keys(n)])],t:i,prize:e=>o(e).prize,icon:e=>o(e).prize.icon,name:e=>o(e).prize.name,color:e=>o(e).prize.color??ms(o(e).index),award:(e,t)=>t??i(`tier.symbol.${e}`),logo:(e=``)=>this.config.logo?h`<img class="fl-icon fl-logo ${e}" src=${this.config.logo} alt="" />`:V($i,e),finish:e=>void this.finish(e),go:(e,t)=>this.go(e,t)}}go(e,t={}){this.certificate=null,this.options=t,this.view=e,this.round++}async finish(e){if(e.tier===`none`)return;let t=this.round,n=this.room.prize(e.prizeId),r=await _o(n,e.tier,e.award),i={prize:n,variant:r,tier:e.tier,game:e.game};this.config.onWin?.(i);let a=e.tier===`jackpot`;await this.celebrate({title:this.t(a?`win.jackpot`:`win.title`),line:`${n.name} · ${r?.label??this.t(`cert.fullPrize`)}`,jackpot:a}),this.round===t&&(this.certificate={outcome:e,win:i})}async celebrate(e){let t=this.round;this.banner=e,this.celebrating=e.jackpot?`jackpot`:`win`,this.boost=e.jackpot?2.4:1,setTimeout(()=>this.round===t&&(this.celebrating=null),e.jackpot?6e3:1800),U.play(e.jackpot?`jackpot`:`win`),!P()&&e.jackpot?(await this.updateComplete,this.querySelectorAll(`.lk-win-text h2 span`).forEach((e,n)=>setTimeout(()=>{if(this.round!==t||!this.section)return;_s(this.section,.5+n*.08);let r=e.getBoundingClientRect();I.burst(r.left+r.width/2,r.top+r.height*.6,{count:18,type:`spark`,speed:640,life:.6,gravity:300,colors:bs}),U.play(`tick`,1+n*.08)},260+n*110)),I.cannons(2400),setTimeout(()=>this.round===t&&I.fountain(2600),700)):I.burst(innerWidth/2,innerHeight*.45,{count:70,speed:820}),await gs(P()?700:e.jackpot?2500:1250),this.round===t&&(this.banner=null)}close(){this.phase=`closing`,this.stopLights(),setTimeout(()=>this.dispatchEvent(new Event(`closed`)),P()?0:560)}toggleSound(){this.soundOn=!this.soundOn,U.enable(this.soundOn),U.play(`chime`)}startLights(){let e=this.lightsCanvas;if(!e||P())return;let t=e.getContext(`2d`),n=Math.min(2,devicePixelRatio);e.width=innerWidth*n,e.height=innerHeight*n,t.setTransform(n,0,0,n,0,0);let r=[`#ffe3a0`,`#f6d27a`,`#fff4d6`,`#e8b45c`,`#ffffff`,`#ffcf7a`,`#f9e7bd`,`#7fd6a0`],i=Array.from({length:90},()=>{let e=Math.random()<.7;return{x:Math.random(),y:Math.random(),radius:e?T(2.5,9):T(14,34),tone:Math.floor(T(0,840)),alpha:e?T(.35,.8):T(.08,.2),phase:T(0,Math.PI*2),speed:T(.6,2.6),blink:e&&Math.random()<.35?T(2,6):0,drift:T(-.006,-.002)}}),a=performance.now(),o=e=>{let n=Math.min(.05,(e-a)/1e3);a=e,this.boost=Math.max(0,this.boost-n*.6);let s=e/1e3;t.clearRect(0,0,innerWidth,innerHeight),t.globalCompositeOperation=`lighter`;let c=this.theme,l=c?qo[c].lights:r;for(let e of i){let r=l[e.tone%l.length];e.y=(e.y+e.drift*n+1)%1;let i=e.blink?Math.sin(s*e.blink+e.phase)>.2?1:.12:.55+.45*Math.sin(s*e.speed+e.phase),a=e.x*innerWidth,o=e.y*innerHeight,c=e.radius*(1+this.boost*.35),u=t.createRadialGradient(a,o,0,a,o,c);u.addColorStop(0,r),u.addColorStop(.35,`${r}aa`),u.addColorStop(1,`${r}00`),t.globalAlpha=Math.min(1,e.alpha*i*(1+this.boost*2.2)),t.fillStyle=u,t.beginPath(),t.arc(a,o,c,0,Math.PI*2),t.fill()}t.globalAlpha=1,this.lightsFrame=requestAnimationFrame(o)};this.lightsFrame=requestAnimationFrame(o);let s=()=>{U.play(`ambient`),this.ambient=window.setTimeout(s,T(2600,6200))};this.ambient=window.setTimeout(s,1800)}stopLights(){cancelAnimationFrame(this.lightsFrame),clearTimeout(this.ambient)}connectedCallback(){super.connectedCallback(),Eo.value=!0,this.previousOverflow=document.body.style.overflow,document.body.style.overflow=`hidden`,addEventListener(`keydown`,this.onKey),this.dutyClock=window.setInterval(()=>Mo(),15e3)}firstUpdated(){I.attach(this.fxCanvas??null),U.play(`whoosh`),requestAnimationFrame(()=>{this.phase=`open`,setTimeout(()=>{this.phase===`open`&&(this.phase=`ready`,this.startLights())},P()?0:850)})}disconnectedCallback(){super.disconnectedCallback(),Eo.value=!1,this.stopLights(),I.attach(null),document.body.style.overflow=this.previousOverflow,removeEventListener(`keydown`,this.onKey),clearInterval(this.dutyClock)}render(){let{view:e,phase:t,celebrating:n,banner:r,theme:i}=this,a=e===`lobby`?this.lobbyPage===1:ts.includes(e),o=e===`lobby`?this.t(`room`):this.t(`games.${e}.name`),s=[...i?[this.t(`themes.${i}.greeting`)]:[],...[1,2,3,4,5,6].map(e=>this.t(`ticker.${e}`))],c=[`lk-room`,t===`open`||t===`ready`?`is-open`:``,t===`ready`?`is-ready`:``,t===`closing`?`is-closing`:``,n?`is-celebrating`:``,n===`jackpot`?`is-jackpot`:``,a?`is-private`:``].join(` `);return h`
|
|
1424
|
+
</div>`}},L([b({attribute:!1})],Q.prototype,`passwordHash`,void 0),L([x()],Q.prototype,`open`,void 0),L([x()],Q.prototype,`unlocked`,void 0),L([x()],Q.prototype,`password`,void 0),L([x()],Q.prototype,`wrong`,void 0),L([x()],Q.prototype,`minimized`,void 0),L([x()],Q.prototype,`position`,void 0),L([x()],Q.prototype,`selected`,void 0),L([x()],Q.prototype,`draft`,void 0),L([x()],Q.prototype,`loads`,void 0),L([x()],Q.prototype,`advancedOpen`,void 0),L([S(`.lk-dev`)],Q.prototype,`box`,void 0),L([S(`.lk-dev [data-first]`)],Q.prototype,`first`,void 0),L([S(`.lk-dev-icon`)],Q.prototype,`iconButton`,void 0),Q=L([y(`fl-developer`)],Q)}));function Lp(e,t,{cards:n,chips:r=()=>_,outcome:i,sit:a,stand:o}){let s=e=>160-e*140/Math.max(1,t.seats.length-1);return h`${t.seats.map((c,l)=>{if(!c)return h`<button
|
|
1425
|
+
class="lk-seat is-free"
|
|
1426
|
+
style=${Bp(s(l),1,1)}
|
|
1427
|
+
?disabled=${!a}
|
|
1428
|
+
aria-label=${e.t(`cards.sit`)}
|
|
1429
|
+
data-tip=${e.t(`cards.sit`)}
|
|
1430
|
+
@click=${()=>a?.(l)}
|
|
1431
|
+
>
|
|
1432
|
+
${V(Ii)}
|
|
1433
|
+
</button>`;let u=l===t.you,d=i(c),f=n(c,u),p=r(c,u);return h`
|
|
1434
|
+
<div class="lk-seat ${u?`is-mine`:`is-taken`} ${c.ready||c.playing?`is-in`:``} ${d?`is-${d}`:``}" style=${Bp(s(l),1,1)}>
|
|
1435
|
+
${c.avatar?h`<img src=${c.avatar} alt="" />`:nf}
|
|
1436
|
+
<b>${c.name||e.t(u?`cards.you`:`cards.player`)}</b>
|
|
1437
|
+
${u&&o?h`<button class="lk-seat-leave ${l<(t.seats.length-1)/2?`is-left`:``}" aria-label=${e.t(`cards.stand`)} data-tip=${e.t(`cards.stand`)} @click=${o}>${V(Ia)}</button>`:_}
|
|
1438
|
+
</div>
|
|
1439
|
+
${p===_?_:h`<div class="lk-seat-play lk-seat-bet ${u?`is-mine`:``}" style=${Bp(s(l),.84,.86)}>${p}</div>`}
|
|
1440
|
+
${f===_?_:h`<div class="lk-seat-play ${u?`is-mine`:``} ${c.folded?`is-folded`:``}" style=${p===_?Bp(s(l),.76,.82):Bp(s(l),.6,.66)}>
|
|
1441
|
+
${f}
|
|
1442
|
+
</div>`}
|
|
1443
|
+
`})}`}var Rp,zp,Bp,Vp,Hp=n((()=>{v(),w(),Xd(),rf(),H(),Rp={rank:2,suit:`spades`},zp=(e,t={})=>Yd(e??Rp,{hidden:!e,...t}),Bp=(e,t,n)=>{let r=e*Math.PI/180;return`left: ${50+50*t*Math.cos(r)}%; top: ${100*n*Math.sin(r)}%`},Vp=e=>e===null?null:Math.max(0,Math.ceil((e-Date.now())/1e3))}));async function*Up(e){let t=e.getReader(),n=new TextDecoder,r=``;for(;;){let{value:e,done:i}=await t.read();if(i)return;r+=n.decode(e,{stream:!0}).replace(/\r\n?/g,`
|
|
1444
|
+
`);for(let e=r.indexOf(`
|
|
1445
|
+
|
|
1446
|
+
`);e>=0;e=r.indexOf(`
|
|
1447
|
+
|
|
1448
|
+
`)){let t=r.slice(0,e).split(`
|
|
1449
|
+
`).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(e.startsWith(`data: `)?6:5)).join(`
|
|
1450
|
+
`);r=r.slice(e+2),t&&(yield JSON.parse(t))}}}function Wp(e,t){let n=`${e.url} ${t}`,r=Jp.get(n)??new qp(e,t);return Jp.set(n,r),r.server=e,r}var Gp,Kp,qp,Jp,Yp=n((()=>{o(),Gp=3,Kp=(e,t)=>new Promise(n=>{let r=setTimeout(n,e);t.addEventListener(`abort`,()=>(clearTimeout(r),n()),{once:!0})}),qp=class{constructor(e,t){this.server=e,this.game=t,this.memory=null,this.connections=new Set}get key(){return`feeling-lucky:${this.server.url}:${this.game}`}get token(){try{return localStorage.getItem(this.key)}catch{return this.memory}}set token(e){this.memory=e;try{e?localStorage.setItem(this.key,e):localStorage.removeItem(this.key)}catch{}}async request(e,t={}){let n={"Content-Type":`application/json`,...this.server.headers?await a(this.server.headers):{},...t.headers};return fetch(`${this.server.url.replace(/\/$/,``)}/${this.game}${e}`,{...t,headers:n})}reconnect(){this.connections.forEach(e=>e.abort())}async listen(e,t){let n=e=>e.key===this.key&&this.reconnect();addEventListener(`storage`,n);try{for(let n=0;!t.aborted;await Kp(1e3*n,t)){let r=new AbortController;this.connections.add(r);try{let i=this.token,a=await this.request(``,{headers:i?{"X-Seat-Token":i}:{},signal:AbortSignal.any([t,r.signal])});if(a.status===404&&i){this.token=null;continue}if(!a.ok||!a.body)throw Error(`feeling-lucky: the ${this.game} table did not answer (${a.status})`);n=0;for await(let t of Up(a.body))e(t)}catch(e){if(t.aborted||r.signal.aborted)continue;if(++n>Gp)throw e}finally{this.connections.delete(r)}}}finally{removeEventListener(`storage`,n)}}async sit(e,t){await this.leave();let n=await this.request(`/seats`,{method:`POST`,body:JSON.stringify({seat:e,name:t?.name??null,avatar:t?.avatar??null})});this.token=n.ok?(await n.json()).token:null,this.reconnect()}async stand(){await this.leave(),this.reconnect()}async leave(){let e=this.token;this.token=null,e&&await this.request(`/seats`,{method:`DELETE`,headers:{"X-Seat-Token":e}}).catch(()=>void 0)}async act(e,t={}){let n=this.token;return n?(await this.request(`/actions`,{method:`POST`,headers:{"X-Seat-Token":n},body:JSON.stringify({action:e,...t})})).ok:!1}},Jp=new Map})),Xp,Zp,Qp,$p=n((()=>{C(),Uo(),B(),Es(),F(),W(),Yp(),R(),Xp=e=>e.dealer.length+e.seats.reduce((e,t)=>e+(t?.hands.reduce((e,t)=>e+t.cards.length,0)??0),0),Zp=e=>[...e.dealer,...e.board,...e.seats.flatMap(e=>e?.hands.flatMap(e=>e.cards)??[])].filter(Boolean).length,Qp=class extends z{constructor(){super(),this.options={},this.view=null,this.offline=!1,this.clearing=!1,this.stop=new AbortController,this.next=null,this.ticker=0,this.finished=-1,this.sit=e=>{this.canSit&&this.table.sit(e,this.room.player)},this.stand=()=>{this.canStand&&this.table.stand()},this.watch(Ho)}get mine(){return this.view?.you==null?null:this.view.seats[this.view.you]??null}get canSit(){return!this.mine||this.view?.phase===`betting`&&!this.mine.ready}get canStand(){return!!this.mine&&this.view?.phase===`betting`&&!this.mine.ready}connectedCallback(){super.connectedCallback(),this.table=Wp(this.room.multiplayer,this.game),this.stop=new AbortController,this.table.listen(e=>this.receive(e),this.stop.signal).catch(()=>this.offline=!0),this.ticker=window.setInterval(()=>this.view?.deadline&&this.requestUpdate(),250)}disconnectedCallback(){super.disconnectedCallback(),this.stop.abort(),clearInterval(this.ticker)}act(e,t){this.table.act(e,t)}receive(e){this.clearing?this.next=e:this.view?.phase===`done`&&e.phase===`betting`?(this.clearing=!0,this.next=e,U.play(`whoosh`,.4),this.later(()=>{this.clearing=!1,this.next&&this.show(this.next),this.next=null},P()?0:650)):this.show(e)}show(e){let t=this.view;this.view=e,t&&e.phase===`dealing`&&t.phase===`betting`&&U.play(`whoosh`,.6),t&&Xp(e)>Xp(t)?U.play(`tick`,1.25):t&&Zp(e)>Zp(t)&&U.play(`tick`,1.1),this.betting(t,e);let n=this.mine;if(!n?.result||this.finished===e.round)return;if(this.finished=e.round,!n.tier||n.tier===`none`){U.play(`stop`,.7);return}let r=this.outcome(n);U.play(r.tier===`jackpot`?`jackpot`:`win`);let i=this.felt?.getBoundingClientRect();i&&!P()&&I.burst(i.left+i.width/2,i.top+i.height*.55,{count:50,type:`spark`,speed:640,life:.8,gravity:300,colors:Ts}),this.later(()=>this.room.finish(r),P()?300:1700)}betting(e,t){}},L([b({attribute:!1})],Qp.prototype,`options`,void 0),L([x()],Qp.prototype,`view`,void 0),L([x()],Qp.prototype,`offline`,void 0),L([x()],Qp.prototype,`clearing`,void 0),L([S(`.lk-cards`)],Qp.prototype,`felt`,void 0)})),em,tm,nm,rm,im=n((()=>{v(),C(),w(),A(),Kd(),Uo(),Jd(),Zs(),H(),rf(),Hp(),$p(),R(),em=5,tm=[`win`,`dealerBust`,`natural`,`spades`],nm=e=>xd(e.filter(e=>!!e)).total,rm=class extends Qp{constructor(...e){super(...e),this.game=`blackjack`,this.chosen=``,this.chips=[],this.history=[],this.lastBet=null}willUpdate(){this.room.prizeIds.includes(this.chosen)||(this.chosen=this.room.prizeIds[0])}betting(e,t){t.phase===`betting`&&e?.phase!==`betting`&&(this.chips=[],this.history=[])}get open(){let e=this.mine;return this.view?.phase===`betting`&&!!e&&!e.ready}get turn(){let e=this.mine;return this.view?.phase===`acting`&&!!e?.playing&&!e.decided}get hand(){return this.mine?.hands[this.mine.active]}get theirs(){return nm(this.view?.dealer??[])}beats(e){return nm(e)<=21&&(this.theirs>21||this.theirs<nm(e))}bet(){!this.open||this.chips.length>=em||(this.history=[...this.history,[...this.chips]],this.chips=[...this.chips,this.chosen])}undo(){let e=this.history.at(-1);e&&(this.history=this.history.slice(0,-1),this.chips=e)}rebet(){this.lastBet&&!this.chips.length&&(this.history=[...this.history,[]],this.chips=this.lastBet.filter(e=>this.room.prizeIds.includes(e)))}clearChips(){this.history=[...this.history,[...this.chips]],this.chips=[]}deal(){this.open&&this.chips.length&&(this.lastBet=[...this.chips],this.act(`bet`,{prize:this.chips[0],chips:this.chips.length}))}outcome(e){let t=e.prize&&this.room.prizeIds.includes(e.prize)?e.prize:this.room.prizeIds[0],n=e.tier;return{game:`blackjack`,tier:n,prizeId:t,award:bo(this.room.prize(t),n),detail:{key:`detail.blackjack.${e.result}`}}}hands(e,t,n=-1){return e.hands.map((e,r)=>h`
|
|
1451
|
+
<div class="lk-split ${r===n?`is-active`:``}">
|
|
1452
|
+
<div class="lk-hand">${e.cards.map(n=>zp(n,{lit:t(e.cards)}))}</div>
|
|
1453
|
+
${e.cards.length?h`<span class="lk-hand-total ${nm(e.cards)>21?`is-bust`:``}"
|
|
1454
|
+
>${nm(e.cards)}${e.stacks>1?h`<small>×2</small>`:_}</span
|
|
1455
|
+
>`:_}
|
|
1456
|
+
</div>
|
|
1457
|
+
`)}chipsOf(e,t,n){let{room:r}=this;return Array.from({length:t},(i,a)=>e.map((e,i)=>h`<i class="lk-bet-chip ${n?`is-winning`:``}" style="--lk-chip: ${r.color(e)}; --n: ${i}; --stack: ${a-(t-1)/2}"><img src=${r.icon(e)} alt="" /></i>`))}render(){if(this.offline)return h`<fl-blackjack .options=${this.options}></fl-blackjack>`;let{room:e,view:t,mine:n}=this,r=t?.phase??`betting`,i=n?.result??null,a=!!i&&tm.includes(i)&&!!n?.tier&&n.tier!==`none`,o=r===`dealing`||r===`dealer`,s=n?.ready||n?.playing?Array.from({length:n.chips},()=>n.prize??e.prizeIds[0]):this.chips,c=n?.hands.reduce((e,t)=>e+t.stacks,0)||1,l=Vp(t?.deadline??null),u=t?n?!n.playing&&r!==`betting`?this.t(`cards.nextHand`):r===`betting`&&l!==null?this.t(`cards.dealingIn`,{seconds:l}):this.turn&&l!==null?this.t(`cards.playIn`,{seconds:l}):null:this.t(`cards.chooseSeat`):null,d=h`
|
|
1458
|
+
<span class="lk-hand-name">${this.t(`cards.dealer`)}${t?.dealer.length?h`<b>${this.theirs}</b>`:_}</span>
|
|
1459
|
+
<div class="lk-hand">${t?.dealer.map(e=>zp(e))??_}</div>
|
|
1460
|
+
`,f=h`${i?h`<p class="lk-cards-result ${a?`is-won`:``}">${this.t(`blackjack.result.${i}`)}</p>`:u?h`<p class="lk-cards-status">${u}</p>`:_}`,p=h`
|
|
1461
|
+
<button
|
|
1462
|
+
class="lk-bet ${this.open&&s.length<em?`is-open`:``}"
|
|
1463
|
+
?disabled=${!this.open||s.length>=em}
|
|
1464
|
+
aria-label=${this.t(`blackjack.bet`,{prize:e.name(this.chosen)})}
|
|
1465
|
+
@click=${this.bet}
|
|
1466
|
+
>
|
|
1467
|
+
${this.chipsOf(s,c,a)}
|
|
1468
|
+
</button>
|
|
1469
|
+
`,m=t?Lp(e,t,{cards:(e,t)=>e.playing?h`${this.hands(e,e=>t&&a&&(i===`natural`||i===`spades`||this.beats(e)),t&&e.hands.length>1&&this.turn?e.active:-1)}`:_,chips:(t,n)=>n?p:t.ready||t.playing?h`<span class="lk-bet">${this.chipsOf(Array.from({length:t.chips},()=>t.prize??e.prizeIds[0]),t.hands.reduce((e,t)=>e+t.stacks,0)||1,!1)}</span>`:_,outcome:e=>e.result?e.tier&&e.tier!==`none`?`won`:`lost`:null,sit:this.canSit?this.sit:null,stand:this.canStand?this.stand:null}):void 0;return Js(e.t,{state:a?`won`:o?`spinning`:`idle`,rules:this.t(`games.blackjack.rules`),multiplier:t?.boost??1,dealer:!0},h`
|
|
1470
|
+
<div class="lk-cards lk-cards--blackjack lk-cards--shared ${this.clearing?`is-clearing`:``}">
|
|
1471
|
+
${ef(e,this.t(`blackjack.print`),{dealer:d,centre:f,player:h``,seats:m},{on:Ho.value,dealing:o})}
|
|
1472
|
+
<div class="lk-rl-rack lk-cards-rack">
|
|
1473
|
+
<fl-chips
|
|
1474
|
+
.chosen=${this.chosen}
|
|
1475
|
+
.disabled=${!this.open}
|
|
1476
|
+
.locked=${s[0]??null}
|
|
1477
|
+
.count=${{used:s.length,max:em}}
|
|
1478
|
+
@choose=${e=>this.chosen=e.detail}
|
|
1479
|
+
></fl-chips>
|
|
1480
|
+
<div class="lk-rl-actions">
|
|
1481
|
+
<div class="lk-rl-quick">
|
|
1482
|
+
<button
|
|
1483
|
+
class="lk-round"
|
|
1484
|
+
aria-label=${this.t(`roulette.undo`)}
|
|
1485
|
+
data-tip=${this.t(`roulette.undo`)}
|
|
1486
|
+
?disabled=${!this.history.length||!this.open}
|
|
1487
|
+
@click=${this.undo}
|
|
1488
|
+
>
|
|
1489
|
+
${V(oo)}
|
|
1490
|
+
</button>
|
|
1491
|
+
<button
|
|
1492
|
+
class="lk-round"
|
|
1493
|
+
aria-label=${this.t(`roulette.rebet`)}
|
|
1494
|
+
data-tip=${this.t(`roulette.rebet`)}
|
|
1495
|
+
?disabled=${!this.lastBet||!!this.chips.length||!this.open}
|
|
1496
|
+
@click=${this.rebet}
|
|
1497
|
+
>
|
|
1498
|
+
${V(Wa)}
|
|
1499
|
+
</button>
|
|
1500
|
+
<button
|
|
1501
|
+
class="lk-round"
|
|
1502
|
+
aria-label=${this.t(`roulette.clear`)}
|
|
1503
|
+
data-tip=${this.t(`roulette.clear`)}
|
|
1504
|
+
?disabled=${!this.chips.length||!this.open}
|
|
1505
|
+
@click=${this.clearChips}
|
|
1506
|
+
>
|
|
1507
|
+
${V(io)}
|
|
1508
|
+
</button>
|
|
1509
|
+
</div>
|
|
1510
|
+
${r===`acting`&&n?.playing?h`
|
|
1511
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${!this.turn} @click=${()=>this.act(`hit`)}>
|
|
1512
|
+
${V(ca)}${this.t(`blackjack.hit`)}
|
|
1513
|
+
</button>
|
|
1514
|
+
<button class="lk-btn lk-btn--outline lk-btn--lg" ?disabled=${!this.turn} @click=${()=>this.act(`stand`)}>
|
|
1515
|
+
${V(wa)}${this.t(`blackjack.stand`)}
|
|
1516
|
+
</button>
|
|
1517
|
+
<button
|
|
1518
|
+
class="lk-btn lk-btn--outline lk-btn--lg"
|
|
1519
|
+
?disabled=${!this.turn||this.hand?.cards.length!==2}
|
|
1520
|
+
@click=${()=>this.act(`double`)}
|
|
1521
|
+
>
|
|
1522
|
+
${V(Ki)}${this.t(`blackjack.double`)}
|
|
1523
|
+
</button>
|
|
1524
|
+
<button
|
|
1525
|
+
class="lk-btn lk-btn--outline lk-btn--lg"
|
|
1526
|
+
?disabled=${!this.turn||n.hands.length!==1||!Rd(n.hands[0].cards.filter(e=>!!e))}
|
|
1527
|
+
@click=${()=>this.act(`split`)}
|
|
1528
|
+
>
|
|
1529
|
+
${V(Qa)}${this.t(`blackjack.split`)}
|
|
1530
|
+
</button>
|
|
1531
|
+
`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${!this.open||!this.chips.length} @click=${this.deal}>
|
|
1532
|
+
${V(Ea)}${this.t(`cards.deal`)}
|
|
1533
|
+
</button>`}
|
|
1534
|
+
</div>
|
|
1535
|
+
</div>
|
|
1536
|
+
</div>
|
|
1537
|
+
`)}},L([x()],rm.prototype,`chosen`,void 0),L([x()],rm.prototype,`chips`,void 0),L([x()],rm.prototype,`history`,void 0),L([x()],rm.prototype,`lastBet`,void 0),rm=L([y(`fl-blackjack-shared`)],rm)})),am,om,sm=n((()=>{v(),C(),w(),A(),Kd(),Uo(),N(),Zs(),H(),rf(),Hp(),$p(),R(),am=e=>e.every(Boolean)?e:null,om=class extends Qp{constructor(...e){super(...e),this.game=`holdem`}handName(e){return this.t(`holdem.hands.${Bd[e]}`)}made(e){let t=this.view,n=am(t?.board??[]),r=am(e),i=am(t?.dealer??[]);return n?.length===5&&r?.length&&i?.length?Ud(r,i,n):null}outcome(e){let t=ms(`holdem`,this.room.prizeIds),n=e.tier,r=this.made(e.hands[0]?.cards??[]);return{game:`holdem`,tier:n,prizeId:t,award:bo(this.room.prize(t),n),detail:{key:`detail.holdem`,params:{hand:r?this.handName(r.mine.category):``}}}}render(){if(this.offline)return h`<fl-holdem .options=${this.options}></fl-holdem>`;let{room:e,view:t,mine:n}=this,r=t?.phase??`betting`,i=n?.hands[0]?.cards??[],a=n?.folded?null:this.made(i),o=!!n?.tier&&n.tier!==`none`,s=r===`dealing`||r===`dealer`,c=r===`acting`&&!!n?.playing&&!n.decided,l=Vp(t?.deadline??null),u=t?n?!n.playing&&r!==`betting`?this.t(`cards.nextHand`):r===`betting`&&l!==null?this.t(`cards.dealingIn`,{seconds:l}):c&&l!==null?this.t(`cards.playIn`,{seconds:l}):null:this.t(`cards.chooseSeat`):null,d=!a||this.clearing?[]:a.lost?Od(a.theirs):o?Od(a.mine):[...Od(a.mine),...Od(a.theirs)],f=e=>!!e&&d.some(t=>t.rank===e.rank&&t.suit===e.suit),p=h`
|
|
1538
|
+
<span class="lk-hand-name">${this.t(`cards.dealer`)}${a?h`<b>${this.handName(a.theirs.category)}</b>`:_}</span>
|
|
1539
|
+
<div class="lk-hand">${t?.dealer.map(e=>zp(e,{lit:f(e)}))??_}</div>
|
|
1540
|
+
`,m=n?.result===`folded`?this.t(`holdem.result.folded`):a&&n?.result?o?this.t(`holdem.result.won`,{hand:this.handName(a.mine.category)}):a.lost?this.t(`holdem.result.lost`,{hand:this.handName(a.theirs.category)}):this.t(`holdem.result.split`):null,ee=h`
|
|
1541
|
+
<div class="lk-board">
|
|
1542
|
+
${(t?.board.length?t.board:Array.from({length:5},()=>null)).map(e=>e?zp(e,{lit:f(e)}):h`<i class="lk-board-slot"></i>`)}
|
|
1543
|
+
</div>
|
|
1544
|
+
${m?h`<p class="lk-cards-result ${o?`is-won`:``}">${m}</p>`:u?h`<p class="lk-cards-status">${u}</p>`:_}
|
|
1545
|
+
`,te=h`
|
|
1546
|
+
<div class="lk-hand">${i.map(e=>zp(e,{lit:f(e)}))}</div>
|
|
1547
|
+
${a?h`<span class="lk-hand-total is-name">${this.handName(a.mine.category)}</span>`:_}
|
|
1548
|
+
`,ne=t?Lp(e,t,{cards:(e,n)=>{if(!e.playing)return _;if(n)return te;let r=am(e.hands[0]?.cards??[]),i=am(t.board);return h`
|
|
1549
|
+
<div class="lk-hand">${e.hands[0]?.cards.map(e=>zp(e))??_}</div>
|
|
1550
|
+
${r?.length&&i?.length===5&&!e.folded?h`<span class="lk-hand-total is-name">${this.handName(Ed([...r,...i]).category)}</span>`:_}
|
|
1551
|
+
`},outcome:e=>e.result?e.tier&&e.tier!==`none`?`won`:`lost`:null,sit:this.canSit?this.sit:null,stand:this.canStand?this.stand:null}):void 0;return Js(e.t,{state:o&&n?.result?`won`:s?`spinning`:`idle`,rules:this.t(`games.holdem.rules`),multiplier:t?.boost??1,dealer:!0},h`
|
|
1552
|
+
<div class="lk-cards lk-cards--holdem lk-cards--shared ${this.clearing?`is-clearing`:``}">
|
|
1553
|
+
${ef(e,this.t(`holdem.print`),{dealer:p,centre:ee,player:h``,seats:ne},{on:Ho.value,dealing:s})}
|
|
1554
|
+
<div class="lk-controls lk-cards-controls">
|
|
1555
|
+
${r===`acting`&&n?.playing?h`
|
|
1556
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${!c} @click=${()=>this.act(`call`)}>
|
|
1557
|
+
${V(fa)}${this.t(`holdem.call`)}
|
|
1558
|
+
</button>
|
|
1559
|
+
<button class="lk-btn lk-btn--outline lk-btn--lg" ?disabled=${!c} @click=${()=>this.act(`fold`)}>
|
|
1560
|
+
${V(po)}${this.t(`holdem.fold`)}
|
|
1561
|
+
</button>
|
|
1562
|
+
`:h`<button
|
|
1563
|
+
class="lk-btn lk-btn--primary lk-btn--lg"
|
|
1564
|
+
?disabled=${r!==`betting`||!n||n.ready}
|
|
1565
|
+
@click=${()=>this.act(`deal`)}
|
|
1566
|
+
>
|
|
1567
|
+
${V(Ea)}${this.t(`cards.deal`)}
|
|
1568
|
+
</button>`}
|
|
1569
|
+
</div>
|
|
1570
|
+
</div>
|
|
1571
|
+
`)}},om=L([y(`fl-holdem-shared`)],om)})),cm=r({}),lm=n((()=>{im(),sm()})),um,dm,fm,$,pm=n((()=>{Nn(),v(),C(),Di(),Fi(),w(),A(),k(),Uo(),Po(),ts(),N(),bs(),Es(),Qt(),B(),H(),F(),W(),Ps(),Bt(),ff(),hf(),Lf(),up(),R(),um={wheel:`fl-wheel`,slot:`fl-slot`,roulette:`fl-roulette`,pachinko:`fl-pachinko`,scratch:`fl-scratch`,blackjack:`fl-blackjack`,holdem:`fl-holdem`},dm=(e,t)=>t&&os.includes(e)?`fl-${e}-shared`:e===`slot`&&M(`slot`)>1?hs()===`takeoff`?`fl-takeoff`:`fl-breakaway`:um[e],fm=Cs(700,450,1.4),$=class extends z{constructor(){super(),this.origin={x:innerWidth/2,y:innerHeight/2},this.phase=`closed`,this.view=`lobby`,this.lobbyPage=0,this.options={},this.round=0,this.certificate=null,this.banner=null,this.celebrating=null,this.soundOn=U.enabled,this.developerLoaded=!1,this.lightsFrame=0,this.dutyCheck=-1,this.dutyClock=0,this.ambient=0,this.boost=0,this.onKey=e=>{this.config.developer&&!this.developerLoaded&&e.ctrlKey&&e.shiftKey&&e.code===`KeyL`?(e.preventDefault(),e.stopPropagation(),Promise.resolve().then(()=>(Ip(),jp)).then(()=>this.developerLoaded=!0)):e.key!==`Escape`||this.banner||(this.certificate?this.certificate=null:this.view===`lobby`?this.close():this.go(`lobby`))},this.previousOverflow=``,this.watch(qt,Mo,No,Ho)}get theme(){return Zo()}willUpdate(e){let t=this.locale();Xt(t)||Zt(t).then(()=>this.requestUpdate(),()=>void 0),(e.has(`config`)||this.dutyCheck!==No.value)&&(Vo.value=this.dealers.length,this.dutyCheck=No.value,Lo()),this.view!==`lobby`&&this.shared&&os.includes(this.view)&&Promise.resolve().then(()=>(lm(),cm)),(!this.room||Xt(t)&&(e.has(`config`)||this.room.locale!==t))&&(this.room=this.context()),I.confetti=this.theme?Qo[this.theme].confetti:void 0;let n=Mo.value;n&&(Mo.value=void 0,this.banner=null,this.celebrating=null,this.boost=0,this.go(n.game))}get dealers(){return this.config.dealers??[{image:`data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20900%20735'%3e%3cdefs%3e%3clinearGradient%20id='skin'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%23f1c6a8'/%3e%3cstop%20offset='1'%20stop-color='%23e0a888'/%3e%3c/linearGradient%3e%3clinearGradient%20id='shirt'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%23fbf7f0'/%3e%3cstop%20offset='1'%20stop-color='%23e6ddd0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='vest'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%237e1a26'/%3e%3cstop%20offset='1'%20stop-color='%234c0d16'/%3e%3c/linearGradient%3e%3clinearGradient%20id='hair'%20x1='0'%20y1='0'%20x2='0'%20y2='1'%3e%3cstop%20offset='0'%20stop-color='%235a2f1f'/%3e%3cstop%20offset='1'%20stop-color='%232e1710'/%3e%3c/linearGradient%3e%3c/defs%3e%3c!--%20bun%20behind%20the%20head%20--%3e%3cellipse%20cx='450'%20cy='58'%20rx='62'%20ry='50'%20fill='url(%23hair)'/%3e%3c!--%20shoulders%20and%20sleeves%20--%3e%3cpath%20d='M248%20350%20Q300%20318%20372%20308%20L528%20308%20Q600%20318%20652%20350%20Q706%20388%20716%20480%20L790%20640%20Q735%20668%20690%20640%20L640%20700%20L260%20700%20L210%20640%20Q165%20668%20110%20640%20L184%20480%20Q194%20388%20248%20350Z'%20fill='url(%23shirt)'/%3e%3cpath%20d='M262%20600%20Q246%20470%20292%20380%20M638%20600%20Q654%20470%20608%20380'%20fill='none'%20stroke='%23d9cdbd'%20stroke-width='5'/%3e%3c!--%20vest%20--%3e%3cpath%20d='M300%20340%20L405%20330%20L450%20520%20L495%20330%20L600%20340%20Q640%20420%20634%20600%20L640%20700%20L260%20700%20L266%20600%20Q260%20420%20300%20340Z'%20fill='url(%23vest)'/%3e%3cpath%20d='M405%20330%20L450%20520%20L495%20330'%20fill='none'%20stroke='%23d4a94e'%20stroke-width='6'%20stroke-linejoin='round'/%3e%3cpath%20d='M300%20340%20Q262%20420%20266%20600%20M600%20340%20Q638%20420%20634%20600'%20fill='none'%20stroke='%23d4a94e'%20stroke-width='4'%20opacity='.7'/%3e%3ccircle%20cx='450'%20cy='545'%20r='7'%20fill='%23e2bd63'/%3e%3ccircle%20cx='450'%20cy='580'%20r='7'%20fill='%23e2bd63'/%3e%3c!--%20shirt%20front%20and%20collar%20--%3e%3cpath%20d='M405%20330%20L450%20520%20L495%20330%20Z'%20fill='url(%23shirt)'/%3e%3cpath%20d='M392%20300%20L450%20340%20L508%20300%20L520%20330%20L450%20370%20L380%20330%20Z'%20fill='%23fffdf8'%20stroke='%23d9cdbd'%20stroke-width='3'/%3e%3c!--%20neck%20--%3e%3cpath%20d='M410%20250%20L410%20312%20Q450%20336%20490%20312%20L490%20250%20Z'%20fill='url(%23skin)'/%3e%3cpath%20d='M410%20296%20Q450%20318%20490%20296'%20fill='none'%20stroke='%23c98d70'%20stroke-width='3'%20opacity='.6'/%3e%3c!--%20bow%20tie%20--%3e%3cpath%20d='M450%20330%20L404%20306%20L404%20354%20Z%20M450%20330%20L496%20306%20L496%20354%20Z'%20fill='%2317120e'/%3e%3crect%20x='438'%20y='318'%20width='24'%20height='24'%20rx='6'%20fill='%232a211b'/%3e%3c!--%20head%20--%3e%3cellipse%20cx='450'%20cy='172'%20rx='92'%20ry='112'%20fill='url(%23skin)'/%3e%3cellipse%20cx='358'%20cy='182'%20rx='14'%20ry='24'%20fill='%23e7b293'/%3e%3cellipse%20cx='542'%20cy='182'%20rx='14'%20ry='24'%20fill='%23e7b293'/%3e%3ccircle%20cx='356'%20cy='214'%20r='6'%20fill='%23e2bd63'/%3e%3ccircle%20cx='544'%20cy='214'%20r='6'%20fill='%23e2bd63'/%3e%3c!--%20hair,%20swept%20back%20with%20a%20side%20part%20--%3e%3cpath%20d='M352%20196%20Q340%2070%20450%2056%20Q562%2062%20548%20196%20Q540%20120%20504%20100%20Q452%20136%20378%20122%20Q360%20150%20352%20196Z'%20fill='url(%23hair)'/%3e%3cpath%20d='M420%2066%20Q470%2064%20520%2096'%20fill='none'%20stroke='%237a4a33'%20stroke-width='5'%20stroke-linecap='round'/%3e%3c!--%20face%20--%3e%3cpath%20d='M392%20158%20Q410%20148%20428%20156%20M472%20156%20Q490%20148%20508%20158'%20fill='none'%20stroke='%233a2016'%20stroke-width='6'%20stroke-linecap='round'/%3e%3cpath%20d='M396%20184%20Q410%20174%20426%20184%20Q410%20192%20396%20184Z%20M474%20184%20Q490%20174%20504%20184%20Q490%20192%20474%20184Z'%20fill='%232a1a12'/%3e%3ccircle%20cx='413'%20cy='182'%20r='3'%20fill='%23fff'%20opacity='.8'/%3e%3ccircle%20cx='491'%20cy='182'%20r='3'%20fill='%23fff'%20opacity='.8'/%3e%3cpath%20d='M450%20192%20Q444%20222%20452%20232'%20fill='none'%20stroke='%23c98d70'%20stroke-width='4'%20stroke-linecap='round'/%3e%3cellipse%20cx='402'%20cy='218'%20rx='20'%20ry='11'%20fill='%23e88f80'%20opacity='.28'/%3e%3cellipse%20cx='498'%20cy='218'%20rx='20'%20ry='11'%20fill='%23e88f80'%20opacity='.28'/%3e%3cpath%20d='M424%20250%20Q450%20262%20476%20250%20Q450%20272%20424%20250Z'%20fill='%23b4434a'/%3e%3c!--%20forearms%20resting%20on%20the%20rim,%20hands%20joined%20in%20front%20--%3e%3cpath%20d='M110%20640%20Q160%20610%20210%20640%20L420%20676%20Q440%20704%20420%20722%20L150%20712%20Q96%20700%20110%20640Z'%20fill='url(%23shirt)'/%3e%3cpath%20d='M790%20640%20Q740%20610%20690%20640%20L480%20676%20Q460%20704%20480%20722%20L750%20712%20Q804%20700%20790%20640Z'%20fill='url(%23shirt)'/%3e%3cpath%20d='M396%20668%20L420%20676%20L420%20722%20L396%20718%20Z%20M504%20668%20L480%20676%20L480%20722%20L504%20718%20Z'%20fill='%23fffdf8'%20stroke='%23d9cdbd'%20stroke-width='3'/%3e%3ccircle%20cx='406'%20cy='694'%20r='5'%20fill='%23e2bd63'/%3e%3ccircle%20cx='494'%20cy='694'%20r='5'%20fill='%23e2bd63'/%3e%3cpath%20d='M418%20674%20Q452%20652%20486%20674%20Q500%20700%20482%20720%20Q450%20734%20418%20720%20Q400%20700%20418%20674Z'%20fill='url(%23skin)'/%3e%3cpath%20d='M432%20680%20Q450%20668%20468%20680%20M428%20694%20Q450%20684%20472%20694%20M430%20708%20Q450%20700%20470%20708'%20fill='none'%20stroke='%23c98d70'%20stroke-width='3'%20stroke-linecap='round'%20opacity='.7'/%3e%3c/svg%3e`}]}get shared(){return!!this.config.multiplayer&&j(`multiplayer`,{},()=>!0)}locale(){return j(`locale`,{},()=>this.config.locale??qt.value)}context(){let{prizes:e,player:t,messages:n}=this.config,r=this.locale(),i=Gt(r,n),a=new Map(e.map((e,t)=>[e.id,{prize:e,index:t}])),o=t=>a.get(t)??{prize:e[0],index:0};return{prizes:e,prizeIds:e.map(e=>e.id),board:yo(e),player:t,multiplayer:this.config.multiplayer,dealers:this.dealers,locale:r,locales:[...new Set([...It,...Object.keys(n)])],t:i,prize:e=>o(e).prize,icon:e=>o(e).prize.icon,name:e=>o(e).prize.name,color:e=>o(e).prize.color??ys(o(e).index),award:(e,t)=>t??i(`tier.symbol.${e}`),logo:(e=``)=>this.config.logo?h`<img class="fl-icon fl-logo ${e}" src=${this.config.logo} alt="" />`:V(na,e),finish:e=>void this.finish(e),go:(e,t)=>this.go(e,t)}}go(e,t={}){this.certificate=null,this.options=t,this.view=e,this.round++}async finish(e){if(e.tier===`none`)return;let t=this.round,n=this.room.prize(e.prizeId),r=await So(n,e.tier,e.award),i={prize:n,variant:r,tier:e.tier,game:e.game};this.config.onWin?.(i);let a=e.tier===`jackpot`;await this.celebrate({title:this.t(a?`win.jackpot`:`win.title`),line:`${n.name} · ${r?.label??this.t(`cert.fullPrize`)}`,jackpot:a}),this.round===t&&(this.certificate={outcome:e,win:i})}async celebrate(e){let t=this.round;this.banner=e,this.celebrating=e.jackpot?`jackpot`:`win`,this.boost=e.jackpot?2.4:1,setTimeout(()=>this.round===t&&(this.celebrating=null),e.jackpot?6e3:1800),U.play(e.jackpot?`jackpot`:`win`),!P()&&e.jackpot?(await this.updateComplete,this.querySelectorAll(`.lk-win-text h2 span`).forEach((e,n)=>setTimeout(()=>{if(this.round!==t||!this.section)return;Ss(this.section,.5+n*.08);let r=e.getBoundingClientRect();I.burst(r.left+r.width/2,r.top+r.height*.6,{count:18,type:`spark`,speed:640,life:.6,gravity:300,colors:Ts}),U.play(`tick`,1+n*.08)},260+n*110)),I.cannons(2400),setTimeout(()=>this.round===t&&I.fountain(2600),700)):I.burst(innerWidth/2,innerHeight*.45,{count:70,speed:820}),await xs(P()?700:e.jackpot?2500:1250),this.round===t&&(this.banner=null)}close(){this.phase=`closing`,this.stopLights(),setTimeout(()=>this.dispatchEvent(new Event(`closed`)),P()?0:560)}toggleSound(){this.soundOn=!this.soundOn,U.enable(this.soundOn),U.play(`chime`)}startLights(){let e=this.lightsCanvas;if(!e||P())return;let t=e.getContext(`2d`),n=Math.min(2,devicePixelRatio);e.width=innerWidth*n,e.height=innerHeight*n,t.setTransform(n,0,0,n,0,0);let r=[`#ffe3a0`,`#f6d27a`,`#fff4d6`,`#e8b45c`,`#ffffff`,`#ffcf7a`,`#f9e7bd`,`#7fd6a0`],i=Array.from({length:90},()=>{let e=Math.random()<.7;return{x:Math.random(),y:Math.random(),radius:e?T(2.5,9):T(14,34),tone:Math.floor(T(0,840)),alpha:e?T(.35,.8):T(.08,.2),phase:T(0,Math.PI*2),speed:T(.6,2.6),blink:e&&Math.random()<.35?T(2,6):0,drift:T(-.006,-.002)}}),a=performance.now(),o=e=>{let n=Math.min(.05,(e-a)/1e3);a=e,this.boost=Math.max(0,this.boost-n*.6);let s=e/1e3;t.clearRect(0,0,innerWidth,innerHeight),t.globalCompositeOperation=`lighter`;let c=this.theme,l=c?Qo[c].lights:r;for(let e of i){let r=l[e.tone%l.length];e.y=(e.y+e.drift*n+1)%1;let i=e.blink?Math.sin(s*e.blink+e.phase)>.2?1:.12:.55+.45*Math.sin(s*e.speed+e.phase),a=e.x*innerWidth,o=e.y*innerHeight,c=e.radius*(1+this.boost*.35),u=t.createRadialGradient(a,o,0,a,o,c);u.addColorStop(0,r),u.addColorStop(.35,`${r}aa`),u.addColorStop(1,`${r}00`),t.globalAlpha=Math.min(1,e.alpha*i*(1+this.boost*2.2)),t.fillStyle=u,t.beginPath(),t.arc(a,o,c,0,Math.PI*2),t.fill()}t.globalAlpha=1,this.lightsFrame=requestAnimationFrame(o)};this.lightsFrame=requestAnimationFrame(o);let s=()=>{U.play(`ambient`),this.ambient=window.setTimeout(s,T(2600,6200))};this.ambient=window.setTimeout(s,1800)}stopLights(){cancelAnimationFrame(this.lightsFrame),clearTimeout(this.ambient)}connectedCallback(){super.connectedCallback(),jo.value=!0,this.previousOverflow=document.body.style.overflow,document.body.style.overflow=`hidden`,addEventListener(`keydown`,this.onKey),this.dutyClock=window.setInterval(()=>Lo(),15e3)}firstUpdated(){I.attach(this.fxCanvas??null),U.play(`whoosh`),requestAnimationFrame(()=>{this.phase=`open`,setTimeout(()=>{this.phase===`open`&&(this.phase=`ready`,this.startLights())},P()?0:850)})}disconnectedCallback(){super.disconnectedCallback(),jo.value=!1,this.stopLights(),I.attach(null),document.body.style.overflow=this.previousOverflow,removeEventListener(`keydown`,this.onKey),clearInterval(this.dutyClock)}render(){let{view:e,phase:t,celebrating:n,banner:r,theme:i}=this,a=e===`lobby`?this.lobbyPage===1:os.includes(e),o=e===`lobby`?this.t(`room`):this.t(`games.${e}.name`),s=[...i?[this.t(`themes.${i}.greeting`)]:[],...[1,2,3,4,5,6].map(e=>this.t(`ticker.${e}`))],c=[`lk-room`,t===`open`||t===`ready`?`is-open`:``,t===`ready`?`is-ready`:``,t===`closing`?`is-closing`:``,n?`is-celebrating`:``,n===`jackpot`?`is-jackpot`:``,a?`is-private`:``].join(` `);return h`
|
|
1420
1572
|
<section
|
|
1421
1573
|
class=${c}
|
|
1422
1574
|
style="--lk-ox: ${this.origin.x}px; --lk-oy: ${this.origin.y}px"
|
|
@@ -1432,13 +1584,13 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1432
1584
|
<div class="lk-drapes" aria-hidden="true"><i></i><i></i></div>
|
|
1433
1585
|
<div class="lk-veil" aria-hidden="true"></div>
|
|
1434
1586
|
<svg class="lk-guilloche" viewBox="0 0 1400 900" preserveAspectRatio="xMidYMid slice" aria-hidden="true">
|
|
1435
|
-
${
|
|
1587
|
+
${fm.map(e=>g`<polyline points=${e} fill="none" stroke="#d4a94e" stroke-opacity="0.16" stroke-width="0.5" />`)}
|
|
1436
1588
|
</svg>
|
|
1437
1589
|
<div class="lk-twinkles" aria-hidden="true"><i></i><i></i></div>
|
|
1438
1590
|
|
|
1439
1591
|
<header class="lk-head">
|
|
1440
1592
|
<button class="lk-btn lk-btn--outline" @click=${()=>e===`lobby`?this.close():this.go(`lobby`)}>
|
|
1441
|
-
${V(
|
|
1593
|
+
${V(Ri)} ${e===`lobby`?this.t(`backToOverview`):this.t(`backToGames`)}
|
|
1442
1594
|
</button>
|
|
1443
1595
|
<h2>${o}${e===`lobby`?_:h`<small>${this.t(`title`)}</small>`}</h2>
|
|
1444
1596
|
<div class="lk-end">
|
|
@@ -1449,7 +1601,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1449
1601
|
data-tip=${this.t(this.soundOn?`soundOn`:`soundOff`)}
|
|
1450
1602
|
@click=${this.toggleSound}
|
|
1451
1603
|
>
|
|
1452
|
-
${V(this.soundOn?
|
|
1604
|
+
${V(this.soundOn?co:uo)}
|
|
1453
1605
|
</button>
|
|
1454
1606
|
</div>
|
|
1455
1607
|
</header>
|
|
@@ -1459,14 +1611,14 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1459
1611
|
</div>
|
|
1460
1612
|
</div>
|
|
1461
1613
|
|
|
1462
|
-
${i?
|
|
1614
|
+
${i?Ti(i,h`<fl-theme .theme=${i}></fl-theme>`):_}
|
|
1463
1615
|
|
|
1464
1616
|
<div class="lk-view">
|
|
1465
1617
|
${e===`lobby`?h`<fl-lobby
|
|
1466
1618
|
.page=${this.lobbyPage}
|
|
1467
1619
|
@page=${e=>this.lobbyPage=e.detail}
|
|
1468
1620
|
@play=${e=>this.go(e.detail)}
|
|
1469
|
-
></fl-lobby>`:
|
|
1621
|
+
></fl-lobby>`:Ti(this.round,Ni`<${Ai(dm(e,this.shared))} .options=${this.options}></${Ai(dm(e,this.shared))}>`)}
|
|
1470
1622
|
</div>
|
|
1471
1623
|
|
|
1472
1624
|
${this.certificate?h`<fl-certificate
|
|
@@ -1488,7 +1640,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1488
1640
|
|
|
1489
1641
|
<canvas class="lk-fx" aria-hidden="true"></canvas>
|
|
1490
1642
|
</section>
|
|
1491
|
-
`}},L([b({attribute:!1})],$.prototype,`config`,void 0),L([b({attribute:!1})],$.prototype,`origin`,void 0),L([
|
|
1643
|
+
`}},L([b({attribute:!1})],$.prototype,`config`,void 0),L([b({attribute:!1})],$.prototype,`origin`,void 0),L([kn({context:_s}),x()],$.prototype,`room`,void 0),L([x()],$.prototype,`phase`,void 0),L([x()],$.prototype,`view`,void 0),L([x()],$.prototype,`lobbyPage`,void 0),L([x()],$.prototype,`options`,void 0),L([x()],$.prototype,`round`,void 0),L([x()],$.prototype,`certificate`,void 0),L([x()],$.prototype,`banner`,void 0),L([x()],$.prototype,`celebrating`,void 0),L([x()],$.prototype,`soundOn`,void 0),L([x()],$.prototype,`developerLoaded`,void 0),L([S(`.lk-room`)],$.prototype,`section`,void 0),L([S(`.lk-lights`)],$.prototype,`lightsCanvas`,void 0),L([S(`.lk-fx`)],$.prototype,`fxCanvas`,void 0),$=L([y(`fl-room`)],$)})),mm=r({mountRoom:()=>gm});function hm(){document.getElementById(`feeling-lucky-properties`)||document.head.append(Object.assign(document.createElement(`style`),{id:`feeling-lucky-properties`,textContent:vm}))}function gm(e,t,n){hm();let r=e.attachShadow({mode:`open`});_m??=new CSSStyleSheet,_m.cssRules.length||_m.replaceSync(gn),r.adoptedStyleSheets=[_m];let i=document.createElement(`fl-room`);return i.config=t,n&&(i.origin=n),r.append(i),i}var _m,vm,ym=n((()=>{_n(),pm(),vm=`
|
|
1492
1644
|
@property --lk-notch-x { syntax: '<number>'; inherits: true; initial-value: 0; }
|
|
1493
1645
|
@property --lk-notch-y { syntax: '<number>'; inherits: true; initial-value: 0; }
|
|
1494
|
-
`}));
|
|
1646
|
+
`}));o(),Qt(),Bt(),de();function bm(e){let t=e,n=null,r=null,a=()=>{n?.remove(),n=null,r=null};return{open({from:e}={}){if(n)return;Ut();let o=e instanceof Element?e.getBoundingClientRect():null,s=o?{x:o.left+o.width/2,y:o.top+o.height/2}:e;n=document.body.appendChild(document.createElement(`feeling-lucky`));let c=n;(async()=>{let[e,{mountRoom:o}]=await Promise.all([i(t),Promise.resolve().then(()=>(ym(),mm))]);await Zt(e.locale??qt.value).catch(()=>void 0),n===c&&(r=o(c,e,s),r.addEventListener(`closed`,a))})().catch(e=>{n===c&&a(),console.error(e)})},close(){r?r.close():a()},update(e){t={...t,...e};let n=r;n&&i(t).then(e=>n===r&&(n.config=e))},destroy(){a()}}}return e.createFeelingLucky=bm,e.en=ue,e})({});
|