@adiakys/feeling-lucky 0.1.0 → 0.2.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 +20 -4
- package/dist/config/types.d.ts +6 -0
- package/dist/{de-Cp-ILcpM.js → de-B56NsnDF.js} +8 -2
- package/dist/developer/panel.d.ts +1 -0
- package/dist/developer/settings.d.ts +1 -0
- package/dist/engine/dealer.d.ts +21 -0
- package/dist/{es-DHZIstf4.js → es-9iWwCe8s.js} +8 -2
- package/dist/feeling-lucky.iife.js +259 -243
- package/dist/feeling-lucky.js +6 -4
- package/dist/{fr-BPFoerSF.js → fr-Y2BcCS3U.js} +8 -2
- package/dist/games/blackjack/blackjack.d.ts +1 -0
- package/dist/games/cards/dealer.d.ts +9 -0
- package/dist/games/cards/table.d.ts +4 -0
- package/dist/games/holdem/holdem.d.ts +2 -0
- package/dist/{i18n-CihzHMU5.js → i18n-it2FlmVZ.js} +12 -6
- package/dist/{it-B95CFDto.js → it-CNSOLgaT.js} +8 -2
- package/dist/locales/de/developer.d.ts +4 -0
- package/dist/locales/de/room.d.ts +2 -0
- package/dist/locales/en/developer.d.ts +4 -0
- package/dist/locales/en/room.d.ts +2 -0
- package/dist/locales/es/developer.d.ts +4 -0
- package/dist/locales/es/room.d.ts +2 -0
- package/dist/locales/fr/developer.d.ts +4 -0
- package/dist/locales/fr/room.d.ts +2 -0
- package/dist/locales/it/developer.d.ts +4 -0
- package/dist/locales/it/room.d.ts +2 -0
- package/dist/{mount-BxDaFww2.js → mount-CBUkAcVV.js} +937 -862
- package/dist/{panel-D1hKmQL7.js → panel-tWJMt9kl.js} +16 -1
- package/dist/room/boost.d.ts +1 -1
- package/dist/room/lobby.d.ts +1 -0
- package/dist/room/room.d.ts +5 -1
- package/dist/room/stage.d.ts +2 -1
- package/dist/runtime/context.d.ts +2 -1
- package/dist/runtime/sound.d.ts +1 -1
- package/package.json +1 -1
|
@@ -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]=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)]);if(!t.length)throw Error(`feeling-lucky: at least one prize is needed`);return{prizes:t,locale:n,messages:r,player:a,logo:s,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`}}})),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`},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`}}})),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`},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`}}})),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`},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`}}})),$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`},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`}}})),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`},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{aspect-ratio:9/5;background:radial-gradient(60% 70% at 50% 28%,#ffe1aa1f,#0000 70%),radial-gradient(120% 100% at 50% 0,#1d4636,#0a1d16 75%);border-radius:0 0 50% 50%/0 0 100% 100%;position:relative;box-shadow:0 0 0 2px #c9a04a,0 0 0 16px #2a120c,0 0 0 17px #8a6420,0 30px 60px -10px #000c,inset 0 0 70px #0000008c}.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}}`})),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}.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{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(`
|
|
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
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,Co=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 wo(e){Eo=e}function To(e){Oo.value={game:e}}function A(e,t,n){let r=Eo[e];return r?r(t,n):n()}var Eo,Do,Oo,ko,Ao=n((()=>{Vt(),Eo={},Do=Bt(!1),Oo=Bt(void 0),ko=Bt(0)}));function jo(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 Mo(e,t){let n=/^easter([+-]\d+)?$/.exec(e);if(n){let e=jo(t);return e.setDate(e.getDate()+Number(n[1]??0)),Lo(e)}return e.length===5?`${t}-${e}`:e}function No(e=new Date){let t=Lo(e),n=e.getFullYear();return Fo.find(({from:e,to:r=e})=>[n-1,n].some(n=>{let i=Mo(e,n),a=Mo(r,n);return a<i&&(a=Mo(r,n+1)),i<=t&&t<=a}))?.theme??null}var Po,Fo,Io,Lo,Ro,zo,Bo,Vo,Ho=n((()=>{Ao(),Po=[`christmas`,`halloween`,`easter`,`august`],Fo=[{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`}],Io=e=>String(e).padStart(2,`0`),Lo=e=>`${e.getFullYear()}-${Io(e.getMonth()+1)}-${Io(e.getDate())}`,Ro=()=>A(`theme`,{},()=>No()),zo={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`]}},Bo=(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}],Vo=[{d:`M10 -8L38 -6M10 -8L68 -6`,stroke:`#f3d488`,width:.8},...Bo(30,!1),...Bo(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 Uo(e=1,t=Math.random()){return t<e*Yo.jackpot?`jackpot`:t<e*(Yo.jackpot+Yo.big)?`big`:t<e*(Yo.jackpot+Yo.big+Yo.small)?`small`:`none`}function Wo(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:Ko[t%Ko.length],multiplier:2+(t>>>8)%4,ticket:t>>>16&1?`forever`:`double`,machine:t>>>20&1?`breakaway`:`takeoff`}}function Go(){let e=Wo().game;return Ko.filter(e=>j(e)>1).sort((t,n)=>j(n)-j(t)||Number(n===e)-Number(t===e))[0]}var Ko,qo,Jo,Yo,Xo,Zo,Qo,$o,j,es,ts,ns,rs,M=n((()=>{k(),Ao(),Ko=[`wheel`,`slot`,`roulette`,`pachinko`,`scratch`],qo=[`blackjack`,`holdem`],Jo=[...Ko,...qo],Yo={jackpot:1/150,big:1/60,small:1/30},Xo=[`none`,`small`,`big`,`jackpot`],Zo=[`double`,`forever`],Qo=[`takeoff`,`breakaway`],$o=(e,t=new Date)=>{let n=Wo(t);return n.game===e?n.multiplier:1},j=e=>A(`boost`,{game:e},()=>$o(e)),es=(e,t)=>A(`tier`,{game:e,boost:t},()=>Uo(t)),ts=(e,t)=>A(`prize`,{game:e,prizeIds:t},()=>E(t)),ns=()=>A(`slot.machine`,{},()=>Wo().machine),rs=()=>A(`scratch.ticket`,{},()=>Wo().ticket)})),is,as,os,ss=n((()=>{Mn(),is=yn(Symbol(`fl-room`)),as=[`#9e1b22`,`#1d3561`,`#1c6136`,`#5b2a6e`,`#7a5418`],os=e=>as[e%as.length]})),N,cs,P=n((()=>{N=()=>matchMedia(`(prefers-reduced-motion: reduce)`).matches,cs=e=>new Promise(t=>setTimeout(t,e))}));function ls(e,t=1){if(N())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 us(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 ds,fs,F,ps=n((()=>{k(),P(),ds=[`#f3d488`,`#d4a94e`,`#fff4d6`,`#1f7a45`,`#8e1f2a`,`#c79a3e`],fs=[`#fff4d6`,`#ffe3a0`,`#f3d488`],F={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&&!N()){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??ds),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 I(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 L=n((()=>{})),R,z=n((()=>{Mn(),v(),C(),ss(),L(),R=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=[]}},I([An({context:is,subscribe:!0}),x()],R.prototype,`room`,void 0)})),ms,hs=n((()=>{Wr(),fi(),ms=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:[]}}},ms.directiveName=`unsafeHTML`,ms.resultType=1,ui(ms)})),gs,_s,vs=n((()=>{fi(),hs(),gs=class extends ms{},gs.directiveName=`unsafeSVG`,gs.resultType=2,_s=ui(gs)})),ys=n((()=>{vs()}));function B(e,t=``){let n=e.map(([e,t])=>`<${e} ${Object.entries(t).map(([e,t])=>`${e}="${bs(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">${_s(n)}</svg>`}var bs,V=n((()=>{v(),ys(),bs=e=>String(e).replace(/[&<>"]/g,e=>`&#${e.charCodeAt(0)};`)})),H,xs=n((()=>{k(),H={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`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)}}}}));function Ss(e){let t=0,n=0;return Es.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 Cs(e,t){return t===`jackpot`?{index:ks(e,e=>e.kind===`jackpot`)[0],bonus:!1}:t===`none`?{index:E(ks(e,e=>e.kind===`none`)),bonus:!1}:Math.random()<Ds?{index:E(ks(e,Os)),bonus:!0}:{index:E(ks(e,e=>e.kind===t)),bonus:!1}}function ws(e,t,n,r=Math.random()){let{small:i,big:a,jackpot:o}=Yo,s=t=>e.filter(t).length,c=e=>{if(e.kind===`jackpot`)return o;if(Os(e))return Ds*(i+a)/s(Os);if(e.kind===`small`||e.kind===`big`){let t=e.kind;return .6*Yo[t]/s(e=>e.kind===t)}return 0},l=e.map(e=>c(e)*(As(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 Os(p)?{index:f,tier:Math.random()<i/(i+a)?`small`:`big`}:{index:f,tier:p.kind}}function Ts(e,t){let n=t.kind===`small`||t.kind===`big`?go(e,t.kind,t.award):e,r=ts(`wheel`,n.map(e=>e.id));return e.find(e=>e.id===r)??n[0]}var Es,Ds,Os,ks,As,js,Ms=n((()=>{Co(),k(),M(),Es=`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(`.`),Ds=.4,Os=e=>e.kind===`coin`||e.kind===`hunt`||e.kind===`pachinko`,ks=(e,t)=>e.flatMap((e,n)=>t(e)?[n]:[]),As=e=>e.kind===`small`||e.kind===`big`?So(e.kind,e.award):e.kind,js=e=>[...new Set(e.filter(e=>e.kind!==`none`).map(As))]})),Ns,Ps=n((()=>{v(),Ns=(e,t)=>h`
|
|
4
|
-
<span class="lk-boost" role="img" aria-label=${e(
|
|
5
|
-
<small aria-hidden="true">${e(
|
|
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`
|
|
4
|
+
<span class="lk-boost" role="img" aria-label=${e(n?`boost.dealerOdds`:`boost.odds`,{n:t})}>
|
|
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 Ws(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
|
+
${Gs.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?Hs(e,r,i):_}
|
|
16
16
|
<fl-rules .text=${n}></fl-rules>
|
|
17
|
-
<div class="lk-game">${
|
|
18
|
-
${
|
|
17
|
+
<div class="lk-game">${a}</div>
|
|
18
|
+
${o??_}
|
|
19
19
|
</div>
|
|
20
20
|
</div>
|
|
21
|
-
`}var
|
|
21
|
+
`}var Gs,Ks,qs=n((()=>{v(),C(),w(),xs(),B(),H(),Us(),R(),Gs=vs(450,400,1.25),Ks=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
|
-
${
|
|
24
|
+
${V(Zi)}
|
|
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
|
-
`}},
|
|
28
|
+
`}},L([b()],Ks.prototype,`text`,void 0),L([x()],Ks.prototype,`open`,void 0),Ks=L([y(`fl-rules`)],Ks)})),Js,Ys=n((()=>{v(),C(),w(),A(),B(),H(),F(),ks(),R(),Js=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 gs(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:yo(this.room.prize(this.prizeId),e).find(e=>bo(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}>${
|
|
40
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${this.flipping} @click=${this.flip}>${V(ra)}${this.t(`coin.flip`)}</button>
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
|
-
`}},
|
|
43
|
+
`}},L([b({attribute:!1})],Js.prototype,`won`,void 0),L([b({attribute:!1})],Js.prototype,`other`,void 0),L([b({attribute:!1})],Js.prototype,`prizeId`,void 0),L([x()],Js.prototype,`flipping`,void 0),L([S(`.lk-coin`)],Js.prototype,`coin`,void 0),L([S(`.lk-coin-shadow`)],Js.prototype,`shadow`,void 0),Js=L([y(`fl-wheel-coin`)],Js)}));function Xs(e,t,n,r){let[i,a]=Qs(t,n),[o,s]=Qs(t,r),[c,l]=Qs(e,r),[u,d]=Qs(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 Zs,Qs,$s,ec,tc=n((()=>{v(),C(),Vs(),B(),R(),Zs=250,Qs=(e,t)=>{let n=t*Math.PI/180;return[e*Math.sin(n),-e*Math.cos(n)]},$s=Array.from({length:18},(e,t)=>t*10),ec=class extends z{constructor(...e){super(...e),this.rootClass=``,this.prefix=`wheel`,this.boosted=[],this.boostLabel=``,this.winPath=``}get segments(){return js(this.room.board)}highlight(e){let t=360/this.segments.length;this.winPath=e===null?``:Xs(64,Zs,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:Xs(64,Zs,i,i+n),split:e.kind===`coin`?Xs(64,Zs,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`?Qs(214,a):null,peg:Qs(247,i),spoke:[Qs(64,i),Qs(Zs,i)]}}),a=this.boosted.map(e=>({path:Xs(64,Zs,e*n,(e+1)*n),badge:`rotate(${e*n+n/2}) translate(0 -226)`})),o=t.map((e,t)=>Qs(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=${Zs} 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,8 +83,8 @@ 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
|
-
${
|
|
87
|
-
<foreignObject class="lk-wheel-logo" x="-17" y="-
|
|
86
|
+
${$s.map(e=>g`<ellipse rx="44" ry="15" transform="rotate(${e})" fill="none" stroke="#f3d488" stroke-opacity=".35" stroke-width=".6" />`)}
|
|
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}>
|
|
90
90
|
<rect x="-19" y="-11" width="38" height="22" rx="11" fill="url(#${e}-gold)" stroke="#3a2a10" stroke-width="1" /><text>${this.boostLabel}</text>
|
|
@@ -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
|
-
`}},
|
|
101
|
+
`}},L([b()],ec.prototype,`rootClass`,void 0),L([b()],ec.prototype,`prefix`,void 0),L([b({attribute:!1})],ec.prototype,`boosted`,void 0),L([b()],ec.prototype,`boostLabel`,void 0),L([x()],ec.prototype,`winPath`,void 0),L([S(`.lk-rotor`)],ec.prototype,`rotor`,void 0),ec=L([y(`fl-wheel-face`)],ec)})),nc,rc=n((()=>{v(),C(),w(),k(),B(),H(),F(),ks(),R(),nc=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 gs(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">${
|
|
109
|
+
<span class="lk-face">${V(Ga)}</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
|
-
`}},
|
|
116
|
+
`}},L([b({attribute:!1})],nc.prototype,`won`,void 0),L([x()],nc.prototype,`tiles`,void 0),L([x()],nc.prototype,`picked`,void 0),nc=L([y(`fl-wheel-hunt`)],nc)})),ic,ac,W,oc=n((()=>{v(),C(),w(),A(),k(),ko(),N(),Vs(),B(),H(),F(),ks(),qs(),Ys(),tc(),rc(),R(),ic={scale:2.4,originY:-.06},ac=e=>1-(1-e)**3,W=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*ac(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)*ac(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)*ac(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=po(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 js(this.room.board)}get keys(){return Bs(this.segments)}segmentLabel(e){let t=this.segments.find(t=>zs(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(po(-e,360)/(360/this.segments.length))}draw(){this.face?.rotor?.setAttribute(`transform`,`rotate(${this.angle})`),this.strip&&(this.strip.style.transform=`translateY(${-po(this.top.position,this.room.prizeIds.length*9)*40}px)`),this.boostStrip&&(this.boostStrip.style.transform=`translateY(${-po(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=po(-(this.target+.5+T(-.3,.3))*t,360),r=this.direction>0?po(n-this.angle,360):-po(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(Bs(t))),r=Ns(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:Ms(t,n).index),this.boosted=null,this.boostTop={...this.boostTop,key:e,state:`spinning`}}else n=cs(`wheel`,this.boost),this.target=j(`wheel.segment`,{tier:n,segments:t},()=>Ms(t,n).index);if(this.tier=n,this.prizeId=Ps(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:ho(n,t)},other:{tier:r,award:ho(n,r)}},this.bonus=e.kind;return}let r=`award`in e?e.award:ho(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?ic.originY+(.5-ic.originY)*ic.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})}>${
|
|
121
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${()=>this.room.go(`pachinko`,{bonus:e})}>${V(Li)}${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)=>zs(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 Ws(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: ${ic.scale}; --lk-zoom-y: ${ic.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
|
-
${
|
|
164
|
+
${V(Ua)}${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())}},
|
|
169
|
+
`,this.overlay())}},L([b({attribute:!1})],W.prototype,`options`,void 0),L([x()],W.prototype,`state`,void 0),L([x()],W.prototype,`prizeId`,void 0),L([x()],W.prototype,`topSet`,void 0),L([x()],W.prototype,`topBlur`,void 0),L([x()],W.prototype,`bonus`,void 0),L([x()],W.prototype,`grabbed`,void 0),L([x()],W.prototype,`zoomed`,void 0),L([x()],W.prototype,`boosted`,void 0),L([S(`fl-wheel-face`)],W.prototype,`face`,void 0),L([S(`.lk-wheel-wrap`)],W.prototype,`wrap`,void 0),L([S(`.lk-pointer`)],W.prototype,`pointer`,void 0),L([S(`.lk-window ul`)],W.prototype,`strip`,void 0),L([S(`.lk-window--boost ul`)],W.prototype,`boostStrip`,void 0),W=L([y(`fl-wheel`)],W)}));function sc(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 cc(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 lc(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 uc=n((()=>{k()})),dc,fc,pc,mc,hc=n((()=>{v(),C(),B(),R(),dc=Array.from({length:22},(e,t)=>({x:22+t%11*37.6,y:t<11?9:77})),fc=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>`,pc=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>`,mc=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`?fc:e===`seven`?pc: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
|
+
${dc.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
|
-
`}},
|
|
198
|
+
`}},L([b({attribute:!1})],mc.prototype,`strips`,void 0),L([b({type:Boolean})],mc.prototype,`mini`,void 0),L([b()],mc.prototype,`state`,void 0),L([b()],mc.prototype,`rootClass`,void 0),L([b({attribute:!1})],mc.prototype,`tray`,void 0),mc=L([y(`fl-slot-machine`)],mc)})),gc,_c,vc,yc=n((()=>{v(),C(),w(),A(),k(),ko(),uc(),N(),qs(),B(),xs(),H(),F(),ks(),hc(),R(),gc=100,_c=22,vc=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=_c*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/_c});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(${-(po(t.pos,this.size)+this.size-1)*gc}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=sc(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=cs(`slot`,this.boost),n=this.prizeId=ls(`slot`,e);this.line=j(`slot.line`,{tier:t,prizeId:n},()=>cc(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=lc(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`?[]:lc(this.line,t)).forEach(e=>this.reelElements()[e]?.querySelectorAll(`li`)[po(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:bs}),_s(this.querySelector(`.lk-slot-cab`),.6)}let n={game:`slot`,tier:e,prizeId:t,award:ho(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}>${
|
|
201
|
-
`;return
|
|
200
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${this.state===`spinning`} @click=${this.pull}>${V(Ua)}${this.t(`slot.spin`)}</button>
|
|
201
|
+
`;return Ws(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})],vc.prototype,`options`,void 0),L([x()],vc.prototype,`state`,void 0),L([x()],vc.prototype,`readout`,void 0),L([x()],vc.prototype,`strips`,void 0),L([S(`fl-slot-machine`)],vc.prototype,`machine`,void 0),vc=L([y(`fl-slot`)],vc)}));function bc(e,t){let n=t=>e.filter(e=>e?.tier===t),r=Object.fromEntries(vo.map(e=>[e,xo(t[e],n(e).length)]));return e.map(e=>e&&{...e,award:r[e.tier][n(e.tier).indexOf(e)]})}function xc(e,t=Math.random()){let[n,r]=Tc[e];return n===1/0?1/0:n*(r/n)**(1-t)}var Sc,Cc,wc,Tc,Ec,Dc,Oc,kc,Ac,jc=n((()=>{A(),k(),Sc=[{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`}],Cc=e=>Math.exp(.12*e),wc=e=>Math.log(e)/.12,Tc={none:[1,2],small:[2,10],big:[10,50],jackpot:[1/0,1/0]},Ec=(e,t)=>t.filter(t=>t.at<=e).at(-1),Dc=[null,{tier:`small`},{tier:`small`},{tier:`big`},{tier:`big`},{tier:`jackpot`}],Oc={none:[1,2],small:[3,4],big:[5,6],jackpot:[]},kc=e=>e===`jackpot`?null:E(Oc[e]),Ac=(e,t)=>e?t[e-1]:null}));function Mc(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 Nc(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 Ic)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 Pc,Fc,Ic,Lc,Rc=n((()=>{v(),C(),w(),A(),jc(),Xo(),N(),qs(),B(),xs(),H(),F(),ks(),R(),Pc=720,Fc=360,Ic=Yo.map(e=>({...e,path:new Path2D(e.d)})),Lc=class extends z{constructor(...e){super(...e),this.options={},this.phase=`ready`,this.multiplier=1,this.cashed=null,this.boost=M(`slot`),this.christmas=Ko()===`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=Cc((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 bc(Sc,this.room.board)}get reached(){return Ec(this.multiplier,this.steps)}label(e){return this.room.award(e.tier,e.award)}takeOff(){this.phase===`flying`||this.cashed||(this.tier=cs(`slot`,this.boost),this.crash=xc(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:bs});let n=this.room.prize(ls(`slot`,go(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!==Pc*r&&Object.assign(t,{width:Pc*r,height:Fc*r}),n.setTransform(r,0,0,r,0,0);let i=n.createRadialGradient(0,Fc,40,0,Fc,Pc);i.addColorStop(0,`#3a1a0b`),i.addColorStop(1,`#120804`),n.fillStyle=i,n.fillRect(0,0,Pc,Fc),n.save(),n.translate(0,Fc),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,Pc*1.6,e*Math.PI/12,e*Math.PI/12+Math.PI/24),n.fill();n.restore();let a=wc(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-(Cc(e)-1)/s*292});n.strokeStyle=`rgb(226 189 99 / 0.22)`,n.lineWidth=1,n.beginPath(),n.moveTo(34,326),n.lineTo(Pc-17,326),n.moveTo(34,326),n.lineTo(34,17),n.stroke();let l=this.christmas?Nc:Mc;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*Pc*.6,d.y-te*Fc*.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 Ws(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
|
-
${
|
|
219
|
+
${V(ya)}${r?this.t(`slot.takeoff.cashOut`,{prize:this.label(r)}):this.t(`slot.takeoff.cashFrom`,{m:Sc[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
|
-
${
|
|
221
|
+
${V(La)}${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
|
-
`)}},
|
|
226
|
+
`)}},L([b({attribute:!1})],Lc.prototype,`options`,void 0),L([x()],Lc.prototype,`phase`,void 0),L([x()],Lc.prototype,`multiplier`,void 0),L([x()],Lc.prototype,`cashed`,void 0),L([S(`canvas`)],Lc.prototype,`canvas`,void 0),Lc=L([y(`fl-takeoff`)],Lc)})),zc,Bc,G,Vc,Hc,Uc,Wc,Gc,Kc,qc,Jc,Yc=n((()=>{v(),C(),w(),A(),jc(),k(),ko(),N(),qs(),B(),xs(),H(),F(),ks(),R(),zc=Dc.length,Bc=O(0,5),G={width:430,height:590,centre:247,kickOff:548,lanes:[122,205,289,372],lines:[492,432,372,312,252,192]},Vc=O(0,9),Hc=`--shirt: #f6e2a6; --trim: #8a6420; --shorts: #7d1c24`,Uc=`--shirt: #1d3561; --trim: #d4a94e; --shorts: #f6e2a6`,Wc=`--shirt: #c99a3e; --trim: #2a1208; --shorts: #1a1a1a`,Gc=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`}))),Kc=e=>g`<use href="#lk-fb-player" x="-14" y="-34" width="28" height="37" style=${e} />`,qc=(e,t)=>({x:G.lanes[t],y:G.lines[e-1]}),Jc=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 bc(Dc,this.room.board)}get collected(){return Ac(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=cs(`slot`,this.boost);this.tackle=j(`breakaway.tackle`,{tier:e},()=>kc(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===zc?`shot`:`running`}tackled(e,t){this.defenders=O(1,zc).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:bs});let r=this.room.prize(ls(`slot`,go(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(Bc.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(zc,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
|
+
${Gc.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
|
+
${Bc.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">${Kc(Wc)}</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">${Kc(Hc)}</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:G.centre,y:G.kickOff},s=e===`won`?`won`:e===`ready`||e===`tackled`?`idle`:`spinning`;return Ws(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 ${G.width} ${G.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
|
+
${Vc.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=${G.kickOff} x2="414" y2=${G.kickOff} />
|
|
273
|
+
<circle cx=${G.centre} cy=${G.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=${G.centre} cy="116" r="2.5" class="lk-field-spot" />
|
|
278
|
+
<circle cx=${G.centre} cy=${G.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(${G.centre} 54)"><g class="lk-field-keeper">${Kc(Wc)}</g></g>
|
|
282
282
|
|
|
283
|
-
${O(1,
|
|
284
|
-
<g class="lk-field-prize ${n===t&&e!==`tackled`?`is-collected`:``} ${n===
|
|
283
|
+
${O(1,zc).map(n=>g`
|
|
284
|
+
<g class="lk-field-prize ${n===t&&e!==`tackled`?`is-collected`:``} ${n===zc?`is-jackpot`:``}" transform="translate(35 ${G.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,zc).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})">${Kc(Uc)}</g>`)}
|
|
305
305
|
|
|
306
306
|
<g class="lk-field-striker" style="transform: translate(${o.x}px, ${o.y+14}px)">
|
|
307
|
-
${
|
|
307
|
+
${Kc(Hc)}
|
|
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()}>${
|
|
315
|
-
${
|
|
314
|
+
${e===`tackled`?h`<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${()=>this.again()}>${V(Va)}${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(ya)}${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
|
-
`)}},
|
|
321
|
-
<svg class=${
|
|
320
|
+
`)}},L([b({attribute:!1})],Jc.prototype,`options`,void 0),L([x()],Jc.prototype,`phase`,void 0),L([x()],Jc.prototype,`cleared`,void 0),L([x()],Jc.prototype,`runner`,void 0),L([x()],Jc.prototype,`chosen`,void 0),L([x()],Jc.prototype,`defenders`,void 0),L([x()],Jc.prototype,`aim`,void 0),L([x()],Jc.prototype,`keeper`,void 0),L([S(`.lk-field`)],Jc.prototype,`field`,void 0),Jc=L([y(`fl-breakaway`)],Jc)})),Xc,Zc=n((()=>{Wr(),fi(),Xc=ui(class extends di{constructor(e){if(super(e),e.type!==li.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 kr}})})),Qc=n((()=>{Zc()}));function $c(e,t){return E(O(0,36).flatMap(n=>Array(e.includes(n)?t:1).fill(n)))}function el(e,t){let n=null;for(let r of e){let e=ul(r.spot);if(!e.numbers.includes(t))continue;let i=il[e.kind],a=is.indexOf(i)-(n?is.indexOf(n.tier):0);(!n||a>0||a===0&&r.chips>n.bet.chips)&&(n={bet:r,tier:i})}return n}var tl,nl,rl,il,al,ol,sl,cl,ll,ul,dl,fl,pl,ml=n((()=>{k(),ko(),N(),tl=[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],nl=new Set([1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36]),rl=()=>D(O(0,36)).slice(0,3),il={straight:`jackpot`,split:`big`,street:`big`,corner:`big`,line:`big`,column:`small`,dozen:`small`,chance:`small`},al=(e,t)=>({id:`${e}:${t.join(`-`)}`,kind:e,numbers:t}),ol=(e,t,n)=>({id:`${e}:${t}`,kind:e,numbers:n,name:t}),sl=[...O(0,36).map(e=>al(`straight`,[e])),...[1,2,3].map(e=>al(`split`,[0,e])),...O(1,33).map(e=>al(`split`,[e,e+3])),...O(1,35).filter(e=>e%3!=0).map(e=>al(`split`,[e,e+1])),al(`street`,[0,1,2]),al(`street`,[0,2,3]),...O(0,11).map(e=>al(`street`,O(3*e+1,3*e+3))),al(`corner`,[0,1,2,3]),...O(1,32).filter(e=>e%3!=0).map(e=>al(`corner`,[e,e+1,e+3,e+4])),...O(0,10).map(e=>al(`line`,O(3*e+1,3*e+6))),...[1,2,3].map(e=>ol(`column`,String(e),O(1,36).filter(t=>(t-e)%3==0))),...[1,2,3].map(e=>ol(`dozen`,String(e),O(12*e-11,12*e))),ol(`chance`,`low`,O(1,18)),ol(`chance`,`even`,O(1,36).filter(e=>e%2==0)),ol(`chance`,`red`,O(1,36).filter(e=>nl.has(e))),ol(`chance`,`black`,O(1,36).filter(e=>!nl.has(e))),ol(`chance`,`odd`,O(1,36).filter(e=>e%2==1)),ol(`chance`,`high`,O(19,36))],cl={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`]},ll=new Map(sl.map(e=>[e.id,e])),ul=e=>ll.get(e),dl=e=>[...new Set(cl[e].flatMap(e=>ul(e).numbers))],fl=e=>j(`roulette.storm`,{boost:e},rl),pl=(e,t,n)=>j(`roulette.number`,{bets:e,storm:t,boost:n},()=>n>1?$c(t,n):fo(0,36))})),hl,gl,_l=n((()=>{Wr(),fi(),Ci(),hl=(e,t,n)=>{let r=new Map;for(let i=t;i<=n;i++)r.set(e[i],i);return r},gl=ui(class extends di{constructor(e){if(super(e),e.type!==li.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=xi(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]=vi(i[d],a[p]),d++,p++;else if(s[f]===o[m])c[m]=vi(i[f],a[m]),f--,m--;else if(s[d]===o[m])c[m]=vi(i[d],a[m]),_i(e,c[m+1],i[d]),d++,m--;else if(s[f]===o[p])c[p]=vi(i[f],a[p]),_i(e,i[d],i[f]),f--,p++;else if(l===void 0&&(l=hl(o,p,m),u=hl(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=_i(e,i[d]);vi(t,a[p]),c[p]=t}else c[p]=vi(n,a[p]),_i(e,i[d],n),i[t]=null;p++}else Si(i[f]),f--}else Si(i[d]),d++;for(;p<=m;){let t=_i(e,c[m+1]);vi(t,a[p]),c[p++]=t}for(;d<=f;){let e=i[d++];e!==null&&Si(e)}return this.ut=o,bi(e,c),kr}})})),vl=n((()=>{_l()}));function yl(e){let[t]=e.numbers;if(e.kind===`column`){let t={x:752,y:(3-Number(e.name))*bl,w:K,h:bl};return{spot:e,hit:t,chip:{x:t.x+K/2,y:t.y+bl/2}}}if(e.kind===`dozen`){let t={x:q+(Number(e.name)-1)*4*K,y:174,w:232,h:xl};return{spot:e,hit:t,chip:{x:t.x+116,y:t.y+xl/2}}}if(e.kind===`chance`){let t={x:q+Cl.indexOf(e.name)*2*K,y:218,w:116,h:xl};return{spot:e,hit:t,chip:{x:t.x+K,y:t.y+xl/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*bl}}:{spot:e,hit:wl(t),chip:Tl(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:Dl(r.map(e=>Tl(e).x)),o=i?174:Dl(r.map(e=>Tl(e).y));return e.kind===`split`?{spot:e,hit:n||r[1]-r[0]===3?El(a,o,16,38):El(a,o,38,16),chip:{x:a,y:o}}:e.kind===`street`&&!n?{spot:e,hit:El(a,o,38,16),chip:{x:a,y:o}}:{spot:e,hit:El(a,o,18,18),chip:{x:a,y:o}}}var K,bl,q,xl,Sl,Cl,wl,Tl,El,Dl,Ol,kl,Al,jl,Ml,Nl,Pl=n((()=>{v(),C(),Qc(),vl(),ml(),B(),R(),K=58,bl=58,q=56,xl=44,Sl=696,Cl=[`low`,`even`,`red`,`black`,`odd`,`high`],wl=e=>{let t=Math.floor((e-1)/3);return{x:q+t*K,y:(2-(e-1)%3)*bl,w:K,h:bl}},Tl=e=>{let t=wl(e);return{x:t.x+K/2,y:t.y+bl/2}},El=(e,t,n,r)=>({x:e-n/2,y:t-r/2,w:n,h:r}),Dl=e=>e.reduce((e,t)=>e+t,0)/e.length,Ol=`M${q} 0H22Q14 0 10 8L2 ${1.5*bl-6}Q0 ${1.5*bl} 2 93L10 166Q14 174 22 174H${q}Z`,kl=[`straight`,`column`,`dozen`,`chance`,`split`,`street`,`line`,`corner`],Al=sl.map(yl).sort((e,t)=>kl.indexOf(e.spot.kind)-kl.indexOf(t.spot.kind)),jl=new Map(Al.map(e=>[e.spot.id,e])),Ml=Array.from({length:36},(e,t)=>t+1).map(e=>({number:e,rect:wl(e),red:nl.has(e)})),Nl=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(Al.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}=jl.get(e),a=(r-(t.length-1)/2)*12,o=this.result!==null&&ul(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?ul(this.hovered).numbers:[]),r=t===null?null:t===0?{x:32,y:1.5*bl-26}:{x:Tl(t).x+15,y:Tl(t).y-15};return h`
|
|
321
|
+
<svg class=${Xc({"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=${Ol} fill="#156b3c" data-number="0" />
|
|
329
|
+
<text x=${32} y=${1.5*bl} class="lk-rt-num">0</text>
|
|
330
|
+
${Ml.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+
|
|
332
|
+
<text x=${e.rect.x+K/2} y=${e.rect.y+bl/2} class="lk-rt-num">${e.number}</text>
|
|
333
333
|
`)}
|
|
334
|
-
${[1,2,3].map(e=>g`<text x=${781} y=${(3-e)*
|
|
335
|
-
${[1,2,3].map(e=>g`<text x=${q+(e-1)*4*
|
|
336
|
-
${
|
|
334
|
+
${[1,2,3].map(e=>g`<text x=${781} y=${(3-e)*bl+bl/2} class="lk-rt-word">${this.t(`roulette.board.column`)}</text>`)}
|
|
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
|
+
${Cl.map((e,t)=>e===`red`||e===`black`?g`<path d="M${q+t*2*K+K} ${227}l26 ${xl/2-9}l-26 ${xl/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=${Ol} />
|
|
339
339
|
<rect x=${q} y="0" width=${754} height=${174} />
|
|
340
|
-
<path d=${Array.from({length:12},(e,t)=>`M${q+(t+1)*
|
|
341
|
-
<rect x=${q} y=${174} width=${
|
|
342
|
-
<path d=${`M${q} 218H752`+[1,2].map(e=>`M${q+e*4*
|
|
340
|
+
<path d=${Array.from({length:12},(e,t)=>`M${q+(t+1)*K} 0V174`).join(``)+`M${q} ${bl}H810M${q} 116H810`} />
|
|
341
|
+
<rect x=${q} y=${174} width=${Sl} height=${88} />
|
|
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=${Ol} />`:_}
|
|
348
|
+
${Ml.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
|
+
${gl(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=${Ol} />`:g`<rect x=${wl(e).x+3} y=${wl(e).y+3} width=${52} height=${52} rx="7" />`}
|
|
355
|
+
<g transform=${e===0?`translate(32 24)`:`translate(${wl(e).x+K/2} ${wl(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
|
+
${gl(this.stacks(),e=>e.key,t=>g`
|
|
365
|
+
<g class=${Xc({"lk-rt-stack":!0,"is-winning":t.winning,"is-lost":t.lost})} transform="translate(${t.x} ${t.y})">
|
|
366
|
+
${gl(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
|
+
${Al.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
|
-
`}},
|
|
408
|
-
<svg class=${
|
|
409
|
-
<path d=${
|
|
410
|
-
<path d=${
|
|
411
|
-
${
|
|
412
|
-
<g class=${
|
|
407
|
+
`}},L([b({attribute:!1})],Nl.prototype,`bets`,void 0),L([b({type:Boolean})],Nl.prototype,`locked`,void 0),L([b({attribute:!1})],Nl.prototype,`result`,void 0),L([b({attribute:!1})],Nl.prototype,`winning`,void 0),L([b({attribute:!1})],Nl.prototype,`struck`,void 0),L([b()],Nl.prototype,`strikeLabel`,void 0),L([x()],Nl.prototype,`hovered`,void 0),Nl=L([y(`fl-roulette-table`)],Nl)}));function Fl(e,t){let n=(e%Hl+Hl)%Hl,r=Rl+t;return n<Wl?Gl(409,n/Rl,r):n<Wl+Ll?[409-(n-Wl),Vl+r]:n<Wl+Ll+Math.PI*Rl?Gl(Bl-Ll/2,Math.PI/2+(n-Wl-Ll)/Rl,r):n<Wl+2*Ll+Math.PI*Rl?[Bl-Ll/2+(n-Wl-Ll-Math.PI*Rl),Vl-r]:Gl(409,3*Math.PI/2+(n-Wl-2*Ll-Math.PI*Rl)/Rl,r)}function Il(e,t,n){let r=Math.max(2,Math.ceil((t-e)/6));return Array.from({length:r+1},(i,a)=>Fl(e+(t-e)*a/r,n))}var Ll,Rl,zl,Bl,Vl,Hl,Ul,Wl,Gl,Kl,ql,Jl,Yl,Xl,Zl,Ql,$l,eu,tu=n((()=>{v(),C(),Qc(),vl(),ml(),B(),R(),Ll=330,Rl=62,zl=34,Bl=244,Vl=79,Hl=2*Ll+2*Math.PI*Rl,Ul=Hl/tl.length,Wl=Math.PI*Rl/2,Gl=(e,t,n)=>[e+n*Math.cos(t),Vl+n*Math.sin(t)],Kl=e=>`M${e.map(([e,t])=>`${e.toFixed(1)} ${t.toFixed(1)}`).join(`L`)}Z`,ql=e=>(e+.5)*Ul,Jl=tl.map((e,t)=>{let n=ql(t-1),r=ql(t),[i,a]=Fl(t*Ul,0);return{number:e,d:Kl([...Il(n,r,zl/2),...Il(n,r,-17).reverse()]),x:i,y:a,fill:e===0?`#156b3c`:nl.has(e)?`#9e1b22`:`#17120e`}}),Yl=e=>tl.indexOf(e),Xl={nassa:[[Yl(12)-1,tl.length+Yl(19)]],orphans:[[Yl(17)-1,Yl(6)],[Yl(1)-1,Yl(9)]],tiers:[[Yl(27)-1,Yl(33)]]},Zl=Object.keys(cl).map(e=>{let t=Xl[e].flatMap(([e,t])=>Il(ql(e),ql(t),-18));return{name:e,d:Kl(t),x:Math.min(415,Math.max(Bl-Ll/2-6,t.reduce((e,[t])=>e+t,0)/t.length)),y:Vl,cost:cl[e].length}}),Ql=Kl(Il(0,Hl,20)),$l=Kl(Il(0,Hl,-17)),eu=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?dl(this.hovered):[]);return h`
|
|
408
|
+
<svg class=${Xc({"lk-track":!0,"is-locked":this.locked})} viewBox="-4 -4 ${496} ${166}" role="group" aria-label=${this.t(`roulette.track`)}>
|
|
409
|
+
<path d=${Ql} fill="#1e0d06" stroke="#d4a94e" stroke-width="1.6" />
|
|
410
|
+
<path d=${$l} fill="rgb(0 0 0 / .18)" />
|
|
411
|
+
${Jl.map(e=>g`
|
|
412
|
+
<g class=${Xc({"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
|
+
${Zl.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=${Xc({"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
|
+
${gl(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
|
-
`}},
|
|
445
|
+
`}},L([b({attribute:!1})],eu.prototype,`plays`,void 0),L([b({type:Number})],eu.prototype,`chipsLeft`,void 0),L([b({type:Boolean})],eu.prototype,`locked`,void 0),L([b({attribute:!1})],eu.prototype,`result`,void 0),L([b({attribute:!1})],eu.prototype,`struck`,void 0),L([x()],eu.prototype,`hovered`,void 0),eu=L([y(`fl-roulette-track`)],eu)}));function nu(e,t,n,r){let[i,a]=iu(t,n),[o,s]=iu(t,r),[c,l]=iu(e,r),[u,d]=iu(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 ru,iu,au,ou,su,cu,lu,uu=n((()=>{v(),C(),ml(),B(),R(),ru=360/tl.length,iu=(e,t)=>{let n=t*Math.PI/180;return[e*Math.sin(n),-e*Math.cos(n)]},au=e=>e===0?[`#156b3c`,`#0e4a29`]:nl.has(e)?[`#9e1b22`,`#6e1218`]:[`#17120e`,`#0c0906`],ou=tl.map((e,t)=>{let n=t*ru-ru/2,[r,i]=au(e);return{number:e,outer:{d:nu(206,236,n,n+ru),fill:r},inner:{d:nu(174,206,n,n+ru),fill:i},whole:nu(176,234,n+.6,n+ru-.6),label:`rotate(${t*ru}) translate(0 -221)`,fret:[iu(174,n),iu(236,n)]}}),su=Array.from({length:8},(e,t)=>t*45+22.5),cu=Array.from({length:24},(e,t)=>t*7.5),lu=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
|
+
${su.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
|
+
${ou.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
|
+
${cu.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
|
-
`}},
|
|
479
|
+
`}},L([b()],lu.prototype,`prefix`,void 0),L([b({type:Boolean})],lu.prototype,`ball`,void 0),L([b({attribute:!1})],lu.prototype,`struck`,void 0),L([b()],lu.prototype,`rootClass`,void 0),lu=L([y(`fl-roulette-wheel`)],lu)}));function du(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 fu(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[...fu(e,i,n/2,r-1),...fu(i,t,n/2,r-1).slice(1)]}function pu(e){let t=fu(e.from,e.to,46);e.paths=[t,...[.3,.55].map(e=>{let n=t[Math.floor(t.length*e)];return fu(n,{x:n.x+T(-70,70),y:n.y+T(30,80)},18,4)})]}function mu(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 hu(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 gs(l*1e3),n===`enter`&&e.classList.remove(i,a)}var gu,_u,vu,yu,bu,xu,Su,J,Cu=n((()=>{v(),C(),Qc(),Ei(),w(),A(),k(),ml(),N(),B(),xs(),H(),F(),ks(),qs(),Pl(),tu(),uu(),R(),gu=360/tl.length,_u=[.6,.76,.84,.9,.95],vu=[45,45,50,55,60,70,80,95,115,140,175],yu=vu.reduce((e,t)=>e+t,0)+420,bu=[`#ffffff`,`#fff1c4`,`#ffd36e`,`#bfe0ff`],xu=e=>e===0?`#156b3c`:nl.has(e)?`#9e1b22`:`#17120e`,Su=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]=iu(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=du(r);n.cue<_u.length&&r>=_u[n.cue];)U.play(`bounce`,1+n.cue*.06,1-n.cue*.15),n.cue++;r>=.76&&this.call&&this.setCall(null),this.draw(Su(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,pu(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,mu(r,e),r.shadowColor=`#bfe0ff`,r.shadowBlur=10,r.strokeStyle=`#fff1c4`,r.lineWidth=4*n,mu(r,e),r.shadowBlur=0,r.strokeStyle=`#ffffff`,r.lineWidth=1.6*n,mu(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),hu(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&&hu(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 hu(e,`lk-call`,`leave`),this.shownCall=this.call,await this.updateComplete;let t=this.querySelector(`.lk-rl-call`);t&&await hu(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 hu(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 hu(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;vu.forEach((r,i)=>{n+=r,this.later(()=>{let n=i===vu.length-1;this.setMedallion(e,{shown:n?t:fo(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:bu})}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(cl[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=fl(this.boost),t=P()?0:yu;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=pl(this.bets,e,this.boost),n=tl.indexOf(t),r=po(this.ballAngle-this.rotorAngle,360),i=n*gu;this.setCall(`made`),this.later(()=>this.call===`made`&&this.setCall(`closed`),P()?0:1900),this.spin={index:n,end:i,laps:po(r-i,360)+3240,start:performance.now(),duration:P()?1:7200,cue:0},U.play(`whoosh`)}land(){let e=tl[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:bu})}let n=el(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:ho(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`:xu(n),s=this.t(t?`roulette.storm.rules`:`games.roulette.rules`,{n:6,m:e});return Ws(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">${
|
|
483
|
+
<span class="lk-rl-bolts-title">${V(lo)}${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=${Xc({"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: ${xu(t.shown)}`}
|
|
488
488
|
>
|
|
489
|
-
${t.shown===null?
|
|
489
|
+
${t.shown===null?V(lo):wi(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=${Xc({"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>${
|
|
501
|
+
${a?h`<small>${V(lo)}×${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
|
-
${
|
|
507
|
+
${V(e===`table`?ha:Fa)}${this.t(`roulette.${e}`)}
|
|
508
508
|
</button>
|
|
509
509
|
`)}
|
|
510
510
|
</div>
|
|
@@ -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
|
-
${
|
|
541
|
+
${V(to)}
|
|
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
|
-
${
|
|
544
|
+
${V(za)}
|
|
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
|
-
${
|
|
547
|
+
${V($a)}
|
|
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
|
-
${
|
|
551
|
+
${V(Yi)}${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
|
-
`)}},I([b({attribute:!1})],J.prototype,`options`,void 0),I([x()],J.prototype,`state`,void 0),I([x()],J.prototype,`result`,void 0),I([x()],J.prototype,`bets`,void 0),I([x()],J.prototype,`chosen`,void 0),I([x()],J.prototype,`winning`,void 0),I([x()],J.prototype,`shownCall`,void 0),I([x()],J.prototype,`surface`,void 0),I([x()],J.prototype,`shownSurface`,void 0),I([x()],J.prototype,`plays`,void 0),I([x()],J.prototype,`history`,void 0),I([x()],J.prototype,`lastThrown`,void 0),I([x()],J.prototype,`struck`,void 0),I([x()],J.prototype,`medallions`,void 0),I([S(`.lk-roulette`)],J.prototype,`root`,void 0),I([S(`.lk-rl-board`)],J.prototype,`board`,void 0),I([S(`.lk-rl-sky`)],J.prototype,`sky`,void 0),I([S(`.lk-rl-dark`)],J.prototype,`dark`,void 0),J=I([y(`fl-roulette`)],J)}));function mu(e){let t=t=>xo(e[t],vu.filter(e=>e===t).length),n={small:t(`small`),big:t(`big`),jackpot:t(`jackpot`)},r={small:0,big:0,jackpot:0};return vu.map(e=>e===`none`?{tier:e,award:null}:{tier:e,award:n[e][r[e]++]})}function hu(e,t){let n=vu.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 gu(e,t){let n=bu(t),r=xu[Math.min(e,8)];return vu.map((e,t)=>e===`none`?{tier:e,award:null}:n[Math.max(0,r-Math.min(2,Math.abs(t-4)))])}function _u(e,t){return Math.min(1,(Yo.small+Yo.big+Yo.jackpot)*e*(t?e:1))}var vu,yu,bu,xu,Su=n((()=>{Co(),k(),M(),vu=[`none`,`small`,`none`,`big`,`jackpot`,`big`,`none`,`small`,`none`],yu=[180,400],bu=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}))],xu=[0,2,4,6,7,8,8,8,9]})),Cu,wu,Tu,Eu,Y,Du,Ou,ku,Au,ju,Mu,Nu,Pu,Fu,Iu=n((()=>{v(),C(),w(),Su(),k(),Ao(),M(),Rs(),z(),ps(),V(),P(),xs(),L(),Cu=[`#ff657c`,`#ffbb66`,`#fff19c`,`#8df0b5`,`#6ecbff`,`#c797ff`],wu=[`#fff6d2`,`#ffe08a`,`#f6c453`,`#e0a12e`,`#b9791c`],Tu=400,Eu=620,Y={x:200,y:220},Du=560,Ou=376/vu.length,ku={none:`#2a170c`,small:`#1d3561`,big:`#7d1c24`,jackpot:`#c79a3e`},Au=72,ju=Math.sqrt(177**2-(Y.y-Au)**2)-4,Mu=e=>Math.max(Y.x-ju,Math.min(Y.x+ju,e)),Nu={blue:[`#8cc8ff`,`#2f7fe6`,`#163f8c`],red:[`#ffa08c`,`#f0433f`,`#8c1420`],violet:[`#ffc4f4`,`#e04fd0`,`#7a1f8c`]},Pu={blue:7.2,red:7.2,violet:9},Fu=class extends R{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*(!N()&&(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=!N()&&(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&&!N()&&n-this.lastFirework>.3){this.lastFirework=n;let e=this.canvas.getBoundingClientRect();F.burst(e.left+T(0,e.width),e.top+T(0,e.height*.7),{count:20,colors:Cu,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,Tu,Eu),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=Mu(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 gu(this.redHits,this.room.board);let t=mu(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:j(`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<vu.length;e++)this.pegs.push({x:12+e*Ou,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=A(`pachinko.board`,{pegs:e},()=>{let[t,n]=yu,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,Eu);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-ju,61),e.lineTo(Y.x+ju,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,Au),e.globalAlpha=1),this.pockets.forEach((t,n)=>{let r=12+n*Ou,i=e.createLinearGradient(0,Du,0,610);i.addColorStop(0,ku[t.tier]),i.addColorStop(1,`#120a05`),e.fillStyle=i,e.globalAlpha=this.landed===n?1:.85,e.beginPath(),e.roundRect(r+2,Du,Ou-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+Ou/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&&!N()?1+.08*Math.sin(this.time*5):1,s=Pu[r]*o*(1+a*.25),[c,l,u]=Nu[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=wu[Math.floor((1-i)*(wu.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)/Ou-.5;if(!n&&this.target<0&&t.y>330&&(this.target=A(`pachinko.pocket`,{near:r},()=>hu(this.tier,r))),n&&t.y<530){let e=vu.flatMap((e,t)=>e!==`none`===this.wins?[t]:[]);this.target=A(`pachinko.pocket`,{near:r},()=>e.sort((e,t)=>Math.abs(e-r)-Math.abs(t-r))[0])}let i=12+(this.target+.5)*Ou,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=(Pu[s.color]+6.5)/2,n=s.x+(t.x<s.x?-e:e),r=s.y-Pu[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?Pu[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&&H.play(`bounce`,.8+t.y/Eu*.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=_u(this.boost,!1);!this.wins&&e<1&&(this.wins=A(`pachinko.wins`,{boost:this.boost,violet:!0},()=>Math.random()<(_u(this.boost,!0)-e)/(1-e))),this.violetHit=!0}e.color!==`blue`&&H.play(`chime`,e.color===`violet`?1.8:1+this.redHits*.08)}e.hit=this.time}}if(t.y>Du){let e=12+this.target*Ou+8,n=12+(this.target+1)*Ou-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,H.play(`jackpot`),N()))return;let e=this.canvas.getBoundingClientRect();F.burst(e.left+e.width/2,e.top+e.height/3,{count:110,colors:Cu,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(H.play(`stop`),e.tier===`none`){this.ball=null,this.colorful?this.pending.push(this.later(()=>{this.colorPegs(),this.state=`idle`},N()?0:600)):this.state=`idle`,this.fever&&this.pending.push(this.later(()=>this.fever=!1,3e3));return}this.colorful&&e.tier===`jackpot`&&this.startFever(),H.play(`chime`,e.tier===`jackpot`?1.5:1.1);let t=this.canvas.getBoundingClientRect();F.burst(t.left+(12+(this.target+.5)*Ou)*t.width/Tu,t.top+Du*t.height/Eu,{count:30,type:`spark`,speed:520,spread:1.6,life:.7,gravity:600,colors:fs}),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),N()?300:this.fever?3800:2e3))}aim(e){if(this.state!==`idle`)return;let t=this.canvas.getBoundingClientRect();this.dropX=Mu((e.clientX-t.left)*Tu/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`:es(`pachinko`,this.boost)),this.redHits=0,this.fever=!1,this.slowMotionUntil=0,this.violetHit=!1,this.wins=A(`pachinko.wins`,{boost:this.boost,violet:!1},()=>Math.random()<_u(this.boost,!1)),{through:this.guide,avoid:this.avoid}=this.colorful&&this.board?A(`pachinko.route`,this.board,()=>({through:[],avoid:[]})):{through:[],avoid:[]},this.target=-1,this.landed=null,this.state=`spinning`,H.play(`whoosh`),this.ball={x:this.dropX,y:Au,vx:this.colorful?T(-70,70):T(-15,15),vy:90},this.trail=[],N()&&!this.colorful&&(this.target=hu(this.tier,(this.dropX-12)/Ou-.5),this.land())}firstUpdated(){let e=Math.min(2,devicePixelRatio);this.canvas.width=Tu*e,this.canvas.height=Eu*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(_u(n,this.violetHit)*1e3)/10;return Fs(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 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`
|
|
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">${
|
|
561
|
-
<span class="lk-peg-power ${this.violetHit?`is-active`:``}">${
|
|
560
|
+
<span class="lk-peg-red">${V(Ya)}<b>${this.redHits} / ${8}</b> <small>${this.t(`pachinko.redHits`)}</small></span>
|
|
561
|
+
<span class="lk-peg-power ${this.violetHit?`is-active`:``}">${V(da)}<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}>${
|
|
570
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${r!==`idle`} @click=${this.drop}>${V(Gi)}${this.t(`pachinko.launch`)}</button>
|
|
571
571
|
</div>
|
|
572
572
|
<div class="lk-hint">${this.t(`pachinko.hint`)}</div>
|
|
573
573
|
</div>
|
|
574
|
-
`)}},
|
|
574
|
+
`)}},L([b({attribute:!1})],Gu.prototype,`options`,void 0),L([x()],Gu.prototype,`state`,void 0),L([x()],Gu.prototype,`chosen`,void 0),L([x()],Gu.prototype,`redHits`,void 0),L([x()],Gu.prototype,`fever`,void 0),L([x()],Gu.prototype,`violetHit`,void 0),L([S(`canvas`)],Gu.prototype,`canvas`,void 0),Gu=L([y(`fl-pachinko`)],Gu)}));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,fo(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 Ju(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 Yu(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 Xu(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`?ed(e,n,r):null,c=D(Qu(t).filter(e=>!s||$u(e)!==$u(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)),Ju(u,o===`logos`?3:fo(1,2),t.map(e=>e.id),n,o===`logos`),Yu(a,u,[],o)}function Zu(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=Qu(t),c=ed(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}),Ju(l,o===`logos`?4:fo(1,3),t.map(e=>e.id),n,o===`logos`);let u=D(s.filter(e=>o!==`pair`||$u(e)!==$u(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 Yu(a,l,[...d,...O(d.length,4).map(()=>({prize:null}))],o)}var Qu,$u,ed,td=n((()=>{A(),k(),Qu=e=>e.flatMap(e=>[`small`,`big`].flatMap(t=>{let n=[...new Set(yo(e,t).map(bo))];return(n.length?n:[null]).map(n=>({prizeId:e.id,tier:t,award:n}))})),$u=e=>`${e.prizeId} ${So(e.tier,e.award)}`,ed=(e,t,n)=>({prizeId:t,tier:e===`big`?`big`:`small`,award:n})}));function nd(e){return{coin:id(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:id(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">${ad(e)}</text>`),boat:id(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:id(64,46,`
|
|
597
597
|
<rect width="64" height="46" rx="8" fill="#f3dcab"/>
|
|
598
|
-
${
|
|
599
|
-
${
|
|
598
|
+
${od(21,-12,`#ff7a59`,`#c4502f`,`#2b8fd6`)}
|
|
599
|
+
${od(43,10,`#3cbcae`,`#22857b`,`#ffd23f`)}`),beach:id(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 rd(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 id,ad,od,sd=n((()=>{id=(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>`)}`,ad=e=>e.replace(/[&<>"]/g,e=>`&#${e.charCodeAt(0)};`),od=(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 cd(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 ld=n((()=>{v()}));function ud(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 dd=n((()=>{v()})),fd,pd,md,hd=n((()=>{v(),C(),Ei(),w(),A(),k(),ko(),td(),N(),B(),xs(),H(),F(),ks(),qs(),sd(),ld(),dd(),R(),fd=vs(210,300,.85),pd=()=>Math.random().toString(16).slice(2,11).toUpperCase(),md=class extends z{constructor(...e){super(...e),this.options={},this.boost=M(`scratch`),this.kind=this.boost>1?ds():`classic`,this.tier=cs(`scratch`,this.boost),this.serial=pd(),this.revealed=new Set,this.state=`idle`,this.last=null,this.strokes=0}print(e){let{prizeIds:t}=this.room,n=ls(`scratch`,t),r=j(`scratch.award`,{tier:e,prizeId:n},()=>ho(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`?Xu:Zu)(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=cs(`scratch`,this.boost),this.card=this.print(this.tier),this.serial=pd(),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 rd(nd(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
|
+
${fd.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">${
|
|
740
|
+
${this.revealed.has(`award`)?_:h`<em class="lk-lock">${V(ja)}${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`?cd(this.room,e,t,this.serial):ud(this.room,e,t,this.serial);return Ws(this.room.t,{state:this.state,rules:r,multiplier:this.boost},h`
|
|
745
745
|
<div class="lk-scratch">
|
|
746
746
|
<div class="lk-ticket lk-ticket--${e.kind}" @pointerdown=${this.start} @pointermove=${this.scratch} @pointerup=${this.stop}>${wi(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}>${
|
|
748
|
+
${n&&this.state===`idle`?h`<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.newTicket}>${V(Za)}${this.t(`scratch.newTicket`)}</button>`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${n} @click=${this.revealAll}>${V(sa)}${this.t(`scratch.revealAll`)}</button>`}
|
|
749
749
|
<div class="lk-hint">${this.t(`scratch.hint`)}</div>
|
|
750
750
|
</div>
|
|
751
751
|
</div>
|
|
752
|
-
`)}},
|
|
752
|
+
`)}},L([b({attribute:!1})],md.prototype,`options`,void 0),L([x()],md.prototype,`tier`,void 0),L([x()],md.prototype,`card`,void 0),L([x()],md.prototype,`serial`,void 0),L([x()],md.prototype,`revealed`,void 0),L([x()],md.prototype,`state`,void 0),L([S(`.lk-ticket`)],md.prototype,`ticket`,void 0),md=L([y(`fl-scratch`)],md)}));function gd(e){let t=e.reduce((e,t)=>e+jd(t),0),n=e.filter(({rank:e})=>e===14).length;for(;t>21&&n;)t-=10,n--;return{total:t,soft:n>0}}function _d(e){let t=fo(12,16),n=fo(Math.max(2,t-10),Math.min(10,t-2)),r=[Ad(n),Ad(t-n)];if(e===`jackpot`)return{player:D([Dd(14,`spades`),Dd(11,`spades`)]),dealer:r};let i;do i=e===`big`?D([Dd(14),Dd(E(kd))]):[Dd(fo(2,14)),Dd(fo(2,14))];while(e===`big`?Pd(i):Md(i));return{player:i,dealer:r}}function vd(e,t){return E(Td.filter(n=>{let{total:r}=gd([...t,n]);return e===`none`?r!==21:r<=21}))}function yd(e,t,n){if(n===null)return[];let{total:r}=gd(t);return e===`none`?[Ad(fo(Math.max(17,n+1),21)-r)]:n>=18&&Math.random()<.5?[Ad(fo(17,n-1)-r)]:[Ad(fo(22-r,10))]}function bd(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 xd(e){let t=null;for(let n=0;n<e.length;n++)for(let r=n+1;r<e.length;r++){let i=bd(e.filter((e,t)=>t!==n&&t!==r));(!t||Id(i,t)>0)&&(t=i)}return t??bd(e)}function Sd(e){if(e===`jackpot`){let e=E(wd),t=D(O(10,14).map(t=>Dd(t,e))),n=D(Td.filter(e=>!t.some(t=>Od(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(Td),n={player:t.slice(0,2),dealer:t.slice(2,4),board:t.slice(4,9)},r=Id(xd([...n.player,...n.board]),xd([...n.dealer,...n.board]))<0;if(e===`none`?r:Ld(xd([...n.player,...n.board]),xd([...n.dealer,...n.board]))===e)return n}}function Cd(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 wd,Td,Ed,Dd,Od,kd,Ad,jd,Md,Nd,Pd,Fd,Id,Ld,Rd,zd,Bd,Vd=n((()=>{k(),wd=[`spades`,`hearts`,`diamonds`,`clubs`],Td=wd.flatMap(e=>O(2,14).map(t=>({rank:t,suit:e}))),Ed=e=>({11:`J`,12:`Q`,13:`K`,14:`A`})[e]??String(e),Dd=(e,t=E(wd))=>({rank:e,suit:t}),Od=(e,t)=>e.rank===t.rank&&e.suit===t.suit,kd=[10,11,12,13],Ad=e=>Dd(e===1||e===11?14:e===10?E(kd):e),jd=e=>e.rank===14?11:Math.min(10,e.rank),Md=e=>e.length===2&&gd(e).total===21,Nd=e=>e.length===2&&jd(e[0])===jd(e[1]),Pd=e=>e.every(({suit:e})=>e===`spades`)&&e.some(({rank:e})=>e===14)&&e.some(({rank:e})=>e===11),Fd=[`highCard`,`pair`,`twoPair`,`trips`,`straight`,`flush`,`fullHouse`,`quads`,`straightFlush`,`royalFlush`],Id=(e,t)=>e.category-t.category||(e.ranks.map((e,n)=>e-t.ranks[n]).find(Boolean)??0),Ld=(e,t)=>Id(e,t)<=0?`none`:e.category===9?`jackpot`:e.category>=4?`big`:`small`,Rd=(e,t,n)=>{let r=xd([...e,...n]),i=xd([...t,...n]);return{mine:r,theirs:i,tier:Ld(r,i),lost:Id(r,i)<0}},zd={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`},Bd=e=>e.suit===`hearts`||e.suit===`diamonds`})),Hd,Ud=n((()=>{v(),C(),B(),R(),Hd=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,20 +779,27 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
779
779
|
${this.message()}
|
|
780
780
|
</div>`:_}
|
|
781
781
|
</div>
|
|
782
|
-
`}},
|
|
783
|
-
<div class="lk-card ${t?`is-hidden`:``} ${
|
|
782
|
+
`}},L([b()],Hd.prototype,`chosen`,void 0),L([b({type:Boolean})],Hd.prototype,`disabled`,void 0),L([b()],Hd.prototype,`locked`,void 0),L([b({attribute:!1})],Hd.prototype,`count`,void 0),L([x()],Hd.prototype,`edges`,void 0),L([S(`.lk-chips-strip`)],Hd.prototype,`strip`,void 0),Hd=L([y(`fl-chips`)],Hd)}));function Wd(e,{hidden:t=!1,lit:n=!1}={}){let r=t=>h`<span class="lk-card-corner ${t?`is-turned`:``}"><b>${Ed(e.rank)}</b><svg viewBox="0 0 20 20"><path d=${zd[e.suit]} /></svg></span>`;return h`
|
|
783
|
+
<div class="lk-card ${t?`is-hidden`:``} ${Bd(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=${zd[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
|
|
794
|
-
|
|
793
|
+
`}var Gd=n((()=>{v(),Vd()})),Kd,qd,Jd=n((()=>{v(),C(),B(),ks(),R(),Kd=`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
|
+
<img class=${t} src=${e.image} alt=${e.name??this.t(`cards.dealer`)} />
|
|
795
|
+
<img class="${t} is-hands" style="clip-path: ${e.hands??Kd}" 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 Yd(e,t,{dealer:n,centre:r,bet:i,player:a},{on:o,dealing:s}){let{t:c}=e,l=e.player;return h`
|
|
797
|
+
<div class="lk-ctable ${o!==null&&e.dealers[o]?`has-dealer`:``}">
|
|
798
|
+
<div class="lk-dealer"><fl-dealer .dealer=${o} ?dealing=${s}></fl-dealer></div>
|
|
795
799
|
<div class="lk-ctable-felt">
|
|
800
|
+
<i class="lk-ctable-rail" aria-hidden="true"></i>
|
|
801
|
+
<i class="lk-ctable-cloth" aria-hidden="true"></i>
|
|
802
|
+
<i class="lk-ctable-notch" aria-hidden="true"></i>
|
|
796
803
|
<svg class="lk-ctable-print" viewBox="0 0 900 500" aria-hidden="true">
|
|
797
804
|
<path id="lk-ctable-arc" d="M150 170Q450 330 750 170" fill="none" />
|
|
798
805
|
<text><textPath href="#lk-ctable-arc" startOffset="50%" text-anchor="middle">${t}</textPath></text>
|
|
@@ -800,80 +807,80 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
800
807
|
<i class="lk-ctable-shoe" aria-hidden="true"><b></b><b></b><b></b></i>
|
|
801
808
|
<div class="lk-ctable-dealer">${n}</div>
|
|
802
809
|
<div class="lk-ctable-centre">${r}</div>
|
|
803
|
-
<div class="lk-seat is-mine" style=${
|
|
804
|
-
${
|
|
805
|
-
<b>${
|
|
810
|
+
<div class="lk-seat is-mine" style=${Xd}>
|
|
811
|
+
${l?.avatar?h`<img src=${l.avatar} alt="" />`:Zd}
|
|
812
|
+
<b>${l?.name||c(`cards.you`)}</b>
|
|
806
813
|
</div>
|
|
807
814
|
${i?h`<div class="lk-ctable-bet">${i}</div>`:_}
|
|
808
815
|
<div class="lk-ctable-player">${a}</div>
|
|
809
816
|
</div>
|
|
810
817
|
</div>
|
|
811
|
-
`}var
|
|
818
|
+
`}var Xd,Zd,Qd=n((()=>{v(),Jd(),Xd=`left: 50%; top: 100%`,Zd=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>`})),$d,ef,tf,nf,rf=n((()=>{v(),C(),w(),A(),Vd(),Ro(),N(),Ud(),qs(),B(),xs(),H(),F(),ks(),Gd(),Qd(),R(),$d=5,ef=[`win`,`dealerBust`,`natural`,`spades`],tf=e=>gd(e).total,nf=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(Lo)}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 $d-this.chips.length}get won(){return!!this.result&&ef.includes(this.result)}get hand(){return this.hands[this.active]}get theirs(){return tf(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&&Nd(this.hand.cards)}beats(e){return tf(e)<=21&&(this.theirs>21||this.theirs<tf(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=cs(`blackjack`,this.boost);this.prizeId=ls(`blackjack`,[this.chips[0]]),this.lastBet=[...this.chips],this.history=[];let t=_d(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),Md(n))return this.settle(e===`jackpot`?`spades`:`natural`);this.phase=`player`}hit(){this.phase===`player`&&(this.give(this.hand.cards,vd(this.tier,this.hand.cards)),tf(this.hand.cards)>=21&&this.next())}double(){this.canDouble&&(this.hand.stacks++,this.give(this.hand.cards,vd(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,vd(this.tier,e.cards)),e.done=n||tf(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})=>tf(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 yd(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:bs});let i={game:`blackjack`,tier:t,prizeId:n,award:ho(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`
|
|
812
819
|
<span class="lk-hand-name">${this.t(`cards.dealer`)}${this.dealer.length?h`<b>${this.theirs}</b>`:_}</span>
|
|
813
|
-
<div class="lk-hand">${this.dealer.map((e,t)=>
|
|
820
|
+
<div class="lk-hand">${this.dealer.map((e,t)=>Wd(e,{hidden:t===1&&!this.holeShown}))}</div>
|
|
814
821
|
`,d=h`${a?h`<p class="lk-cards-result ${i?`is-won`:``}">${this.t(`blackjack.result.${a}`)}</p>`:_}`,f=h`
|
|
815
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}>
|
|
816
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>`))}
|
|
817
824
|
</button>
|
|
818
825
|
`,p=h`${n.map((e,r)=>h`
|
|
819
826
|
<div class="lk-split ${n.length>1&&t===`player`&&r===this.active?`is-active`:``}">
|
|
820
|
-
<div class="lk-hand">${e.cards.map(t=>
|
|
821
|
-
${e.cards.length?h`<span class="lk-hand-total ${
|
|
827
|
+
<div class="lk-hand">${e.cards.map(t=>Wd(t,{lit:i&&(a===`natural`||a===`spades`||this.beats(e.cards))}))}</div>
|
|
828
|
+
${e.cards.length?h`<span class="lk-hand-total ${tf(e.cards)>21?`is-bust`:``}">${tf(e.cards)}${e.stacks>1?h`<small>×2</small>`:_}</span>`:_}
|
|
822
829
|
</div>
|
|
823
|
-
`)}`;return
|
|
830
|
+
`)}`;return Ws(e.t,{state:c,rules:this.t(`games.blackjack.rules`),multiplier:this.boost,dealer:!0},h`
|
|
824
831
|
<div class="lk-cards lk-cards--blackjack ${this.clearing?`is-clearing`:``}">
|
|
825
|
-
${
|
|
832
|
+
${Yd(e,this.t(`blackjack.print`),{dealer:u,centre:d,bet:f,player:p},{on:Lo.value,dealing:t===`dealing`||t===`dealer`})}
|
|
826
833
|
<div class="lk-rl-rack lk-cards-rack">
|
|
827
834
|
<fl-chips
|
|
828
835
|
.chosen=${this.chosen}
|
|
829
836
|
.disabled=${!o}
|
|
830
837
|
.locked=${r[0]??null}
|
|
831
|
-
.count=${{used:r.length,max
|
|
838
|
+
.count=${{used:r.length,max:$d}}
|
|
832
839
|
@choose=${e=>this.chosen=e.detail}
|
|
833
840
|
></fl-chips>
|
|
834
841
|
<div class="lk-rl-actions">
|
|
835
842
|
<div class="lk-rl-quick">
|
|
836
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}>
|
|
837
|
-
${
|
|
844
|
+
${V(to)}
|
|
838
845
|
</button>
|
|
839
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}>
|
|
840
|
-
${
|
|
847
|
+
${V(za)}
|
|
841
848
|
</button>
|
|
842
849
|
<button class="lk-round" aria-label=${this.t(`roulette.clear`)} data-tip=${this.t(`roulette.clear`)} ?disabled=${!r.length||!o} @click=${this.clearChips}>
|
|
843
|
-
${
|
|
850
|
+
${V($a)}
|
|
844
851
|
</button>
|
|
845
852
|
</div>
|
|
846
853
|
${t===`player`?h`
|
|
847
|
-
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.hit}>${
|
|
848
|
-
<button class="lk-btn lk-btn--outline lk-btn--lg" @click=${this.stand}>${
|
|
849
|
-
<button class="lk-btn lk-btn--outline lk-btn--lg" ?disabled=${!this.canDouble} @click=${this.double}>${
|
|
850
|
-
<button class="lk-btn lk-btn--outline lk-btn--lg" ?disabled=${!this.canSplitHand} @click=${this.split}>${
|
|
851
|
-
`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${!o||!r.length} @click=${this.deal}>${
|
|
854
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.hit}>${V(aa)}${this.t(`blackjack.hit`)}</button>
|
|
855
|
+
<button class="lk-btn lk-btn--outline lk-btn--lg" @click=${this.stand}>${V(xa)}${this.t(`blackjack.stand`)}</button>
|
|
856
|
+
<button class="lk-btn lk-btn--outline lk-btn--lg" ?disabled=${!this.canDouble} @click=${this.double}>${V(Ui)}${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(Ca)}${this.t(`cards.deal`)}</button>`}
|
|
852
859
|
</div>
|
|
853
860
|
</div>
|
|
854
861
|
</div>
|
|
855
|
-
`)}},
|
|
862
|
+
`)}},L([b({attribute:!1})],nf.prototype,`options`,void 0),L([x()],nf.prototype,`phase`,void 0),L([x()],nf.prototype,`hands`,void 0),L([x()],nf.prototype,`active`,void 0),L([x()],nf.prototype,`dealer`,void 0),L([x()],nf.prototype,`holeShown`,void 0),L([x()],nf.prototype,`clearing`,void 0),L([x()],nf.prototype,`result`,void 0),L([x()],nf.prototype,`chosen`,void 0),L([x()],nf.prototype,`chips`,void 0),L([x()],nf.prototype,`history`,void 0),L([x()],nf.prototype,`lastBet`,void 0),L([S(`.lk-cards`)],nf.prototype,`table`,void 0),nf=L([y(`fl-blackjack`)],nf)})),af,of=n((()=>{v(),C(),w(),A(),Vd(),Ro(),N(),qs(),B(),xs(),H(),F(),ks(),Gd(),Qd(),R(),af=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(Lo)}willUpdate(){this.phase===`ready`&&(this.boost=M(`holdem`))}get result(){return this.dealerShown?Rd(this.player,this.dealer,this.board):null}handName(e){return this.t(`holdem.hands.${Fd[e]}`)}wait(e){return new Promise(t=>this.later(t,e))}async deal(){if(this.phase!==`ready`)return;this.tier=cs(`holdem`,this.boost);let{prizeIds:e}=this.room;this.prizeId=ls(`holdem`,e);let t=Sd(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:bs});let i={game:`holdem`,tier:t,prizeId:n,award:ho(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?Cd(n.theirs):r?Cd(n.mine):[...Cd(n.mine),...Cd(n.theirs)],o=e=>a.includes(e),s=h`
|
|
856
863
|
<span class="lk-hand-name">${this.t(`cards.dealer`)}${n?h`<b>${this.handName(n.theirs.category)}</b>`:_}</span>
|
|
857
|
-
<div class="lk-hand">${this.dealer.map(e=>
|
|
864
|
+
<div class="lk-hand">${this.dealer.map(e=>Wd(e,{hidden:!this.dealerShown,lit:o(e)}))}</div>
|
|
858
865
|
`,c=h`
|
|
859
|
-
<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?Wd(e,{lit:o(e)}):h`<i class="lk-board-slot"></i>`)}</div>
|
|
860
867
|
${this.folded||n?h`<p class="lk-cards-result ${r?`is-won`:``}">
|
|
861
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`)}
|
|
862
869
|
</p>`:_}
|
|
863
870
|
`,l=h`
|
|
864
|
-
<div class="lk-hand">${this.player.map(e=>
|
|
871
|
+
<div class="lk-hand">${this.player.map(e=>Wd(e,{lit:o(e)}))}</div>
|
|
865
872
|
${n?h`<span class="lk-hand-total is-name">${this.handName(n.mine.category)}</span>`:_}
|
|
866
|
-
`;return
|
|
873
|
+
`;return Ws(e.t,{state:i,rules:this.t(`games.holdem.rules`),multiplier:this.boost,dealer:!0},h`
|
|
867
874
|
<div class="lk-cards lk-cards--holdem ${this.clearing?`is-clearing`:``}">
|
|
868
|
-
${
|
|
875
|
+
${Yd(e,this.t(`holdem.print`),{dealer:s,centre:c,player:l},{on:Lo.value,dealing:t===`dealing`||t===`showdown`})}
|
|
869
876
|
<div class="lk-controls lk-cards-controls">
|
|
870
877
|
${t===`decide`?h`
|
|
871
|
-
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.call}>${
|
|
872
|
-
<button class="lk-btn lk-btn--outline lk-btn--lg" @click=${this.fold}>${
|
|
873
|
-
`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${t!==`ready`} @click=${this.deal}>${
|
|
878
|
+
<button class="lk-btn lk-btn--primary lk-btn--lg" @click=${this.call}>${V(la)}${this.t(`holdem.call`)}</button>
|
|
879
|
+
<button class="lk-btn lk-btn--outline lk-btn--lg" @click=${this.fold}>${V(so)}${this.t(`holdem.fold`)}</button>
|
|
880
|
+
`:h`<button class="lk-btn lk-btn--primary lk-btn--lg" ?disabled=${t!==`ready`} @click=${this.deal}>${V(Ca)}${this.t(`cards.deal`)}</button>`}
|
|
874
881
|
</div>
|
|
875
882
|
</div>
|
|
876
|
-
`)}},
|
|
883
|
+
`)}},L([b({attribute:!1})],af.prototype,`options`,void 0),L([x()],af.prototype,`phase`,void 0),L([x()],af.prototype,`player`,void 0),L([x()],af.prototype,`dealer`,void 0),L([x()],af.prototype,`board`,void 0),L([x()],af.prototype,`shown`,void 0),L([x()],af.prototype,`dealerShown`,void 0),L([x()],af.prototype,`folded`,void 0),L([x()],af.prototype,`clearing`,void 0),L([S(`.lk-cards`)],af.prototype,`table`,void 0),af=L([y(`fl-holdem`)],af)})),sf=n((()=>{oc(),yc(),Rc(),Yc(),Cu(),Ku(),hd(),rf(),of()})),cf,lf,uf=n((()=>{v(),C(),w(),Xo(),xs(),B(),H(),F(),ks(),R(),cf=vs(470,110,.9),lf=class extends z{constructor(...e){super(...e),this.stage=`printing`,this.gift=Ko()===`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:bs})}async unwrap(){await gs(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 gs(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 gs(P()?0:750)),this.stage=`revealed`,await gs(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`
|
|
877
884
|
<div class="lk-cert-layer" role="dialog" aria-modal="true" aria-label=${this.t(`cert.title`)}>
|
|
878
885
|
${this.jackpot?h`<div class="lk-rays"><i></i><i></i></div>`:_}
|
|
879
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>`:_}
|
|
@@ -882,12 +889,12 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
882
889
|
class="lk-cert ${this.rising?`is-rising`:``} ${this.stage===`printing`?`is-printing`:`is-revealed`} ${this.stage===`stamped`?`is-stamped`:``} ${this.claimed?`is-issued`:``}"
|
|
883
890
|
>
|
|
884
891
|
<svg viewBox="0 0 600 520" preserveAspectRatio="xMidYMid slice" aria-hidden="true">
|
|
885
|
-
${
|
|
892
|
+
${cf.map(e=>g`<polyline points=${e} fill="none" stroke="#b08a3a" stroke-opacity="0.18" stroke-width="0.5" />`)}
|
|
886
893
|
</svg>
|
|
887
894
|
<div class="lk-cert-head">
|
|
888
895
|
${e.logo(`lk-cert-logo`)}
|
|
889
|
-
${this.claim?h`<span class="lk-badge ${this.claimed?`is-success`:``}">${
|
|
890
|
-
<span class="lk-badge lk-badge--from">${
|
|
896
|
+
${this.claim?h`<span class="lk-badge ${this.claimed?`is-success`:``}">${V(this.claimed?zi:qi)}${this.t(this.claimed?`cert.claimed`:`cert.notClaimed`)}</span>`:_}
|
|
897
|
+
<span class="lk-badge lk-badge--from">${V($i)}${r} · ${this.t(t.detail.key,t.detail.params)}</span>
|
|
891
898
|
</div>
|
|
892
899
|
<div class="lk-cert-product">
|
|
893
900
|
<img src=${e.icon(n.prize.id)} alt="" />
|
|
@@ -904,7 +911,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
904
911
|
<circle r="34" fill="none" stroke="#8a6420" stroke-opacity=".5" stroke-dasharray="1.5 3" />
|
|
905
912
|
<path id="lk-seal-path" d="M-26 0a26 26 0 1 1 52 0a26 26 0 1 1 -52 0" fill="none" />
|
|
906
913
|
<text font-size="7.5" font-weight="700" fill="#6e5a3a" letter-spacing="1.6"><textPath href="#lk-seal-path">${this.t(this.claimed?`cert.sealClaimed`:`cert.seal`)}</textPath></text>
|
|
907
|
-
<foreignObject class="lk-seal-logo" x="-12" y="-
|
|
914
|
+
<foreignObject class="lk-seal-logo" x="-12" y="-14" width="24" height="28">${e.logo()}</foreignObject>
|
|
908
915
|
</svg>
|
|
909
916
|
</div>
|
|
910
917
|
<div class="lk-info">
|
|
@@ -913,23 +920,23 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
913
920
|
${this.error?h`<p class="lk-note" role="alert">${this.error}</p>`:_}
|
|
914
921
|
<div class="lk-actions">
|
|
915
922
|
${this.claim&&!this.claimed?h`<button class="lk-btn lk-btn--primary" ?disabled=${this.claiming} @click=${this.onClaim}>
|
|
916
|
-
${
|
|
923
|
+
${V(this.claiming?Da:pa,this.claiming?`lk-spinning`:``)}${this.t(this.claiming?`cert.claiming`:`cert.claim`)}
|
|
917
924
|
</button>`:_}
|
|
918
925
|
<button class="lk-btn ${this.claim&&!this.claimed?`lk-btn--outline`:`lk-btn--primary`}" @click=${()=>this.dispatchEvent(new Event(`again`))}>
|
|
919
|
-
${
|
|
926
|
+
${V(Va)}${this.t(`cert.again`,{game:r})}
|
|
920
927
|
</button>
|
|
921
|
-
<button class="lk-btn lk-btn--outline" @click=${()=>this.dispatchEvent(new Event(`lobby`))}>${
|
|
928
|
+
<button class="lk-btn lk-btn--outline" @click=${()=>this.dispatchEvent(new Event(`lobby`))}>${V(Ta)}${this.t(`cert.otherGame`)}</button>
|
|
922
929
|
</div>
|
|
923
930
|
</article>
|
|
924
931
|
`}
|
|
925
932
|
</div>
|
|
926
|
-
`}},
|
|
933
|
+
`}},L([b({attribute:!1})],lf.prototype,`outcome`,void 0),L([b({attribute:!1})],lf.prototype,`win`,void 0),L([b({attribute:!1})],lf.prototype,`claim`,void 0),L([x()],lf.prototype,`stage`,void 0),L([x()],lf.prototype,`gift`,void 0),L([x()],lf.prototype,`rising`,void 0),L([x()],lf.prototype,`claiming`,void 0),L([x()],lf.prototype,`claimed`,void 0),L([x()],lf.prototype,`error`,void 0),L([S(`.lk-seal`)],lf.prototype,`seal`,void 0),L([S(`.lk-gift-lid`)],lf.prototype,`lid`,void 0),lf=L([y(`fl-certificate`)],lf)})),df,ff,pf,mf,hf,gf,_f,vf,yf,bf,xf,Sf,Cf,wf,Tf,Ef,Df,Of,kf,Af,jf,Mf=n((()=>{v(),C(),w(),jc(),k(),ml(),uc(),Xo(),Ro(),N(),Gd(),sd(),uu(),hc(),tc(),B(),H(),F(),ks(),Us(),R(),df=[`lobby.games`,`lobby.private`],ff={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`}]}},pf=[{rank:12,suit:`hearts`},{rank:11,suit:`hearts`},{rank:10,suit:`hearts`},{rank:4,suit:`spades`},{rank:9,suit:`diamonds`}],mf=[];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)&&mf.push({x:110+n,y:t})}hf=[`#2a170c`,`#1d3561`,`#7d1c24`,`#c79a3e`,`#7d1c24`,`#1d3561`,`#2a170c`],gf={blue:[`#8cc8ff`,`#2f7fe6`],red:[`#ffa08c`,`#f0433f`],violet:[`#ffc4f4`,`#e04fd0`]},_f=mf.reduce((e,t,n)=>Math.hypot(t.x-110,t.y-124)<Math.hypot(mf[e].x-110,mf[e].y-124)?n:e,0),vf=e=>e===_f?`violet`:e%5==2?`red`:`blue`,yf=[`-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`],bf=`M10 176C70 174 122 156 160 124`,xf=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`),Sf=[`4,0 36,18 36,202 4,220`,`256,0 224,18 224,202 256,220`],Cf=[{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`}))),wf=[{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}],Tf=50,Ef=2e4,Df=(wc(Ef)-wc(Tf)+1.8)*1e3,Of=[{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}],kf=[{transform:`translateY(0)`},{transform:`translateY(-1200px)`}],Af={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:kf,duration:e,fast:e/600})),{selector:`.lk-mini-multiplier`,keyframes:[{opacity:1},{opacity:1}],duration:Df,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:Of,duration:3200,fast:3}]},jf=class extends z{constructor(){super(),this.page=0,this.takeoffShown=Tf,this.strips=[],this.struck=rl(),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(Ef,Cc(wc(Tf)+Number(e.currentTime)%Df/1e3))),this.takeoffRaf=requestAnimationFrame(this.climb)},this.watch(Lo)}willUpdate(e){super.willUpdate(e),this.stripsFor!==this.room.prizeIds&&(this.stripsFor=this.room.prizeIds,this.strips=sc(this.room.prizeIds))}turnPage(e){let t=Math.max(0,Math.min(df.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(Af)){let t=Af[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`
|
|
927
934
|
<div class="lk-meta">
|
|
928
935
|
<span>
|
|
929
936
|
<b>${this.t(`games.${e}.name`)}</b>
|
|
930
937
|
<small>${this.t(`games.${e}.summary`)}</small>
|
|
931
938
|
</span>
|
|
932
|
-
${
|
|
939
|
+
${V(Vi)}
|
|
933
940
|
</div>
|
|
934
941
|
`}takeoffArt(){return h`
|
|
935
942
|
<svg class="lk-mini-takeoff" viewBox="0 0 220 190" aria-hidden="true">
|
|
@@ -940,16 +947,16 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
940
947
|
<rect width="220" height="190" rx="18" fill="url(#lk-mini-sky-wood)" stroke="#d4a94e" stroke-opacity=".6" stroke-width="2" />
|
|
941
948
|
<clipPath id="lk-mini-takeoff-clip"><rect width="220" height="190" rx="18" /></clipPath>
|
|
942
949
|
<g clip-path="url(#lk-mini-takeoff-clip)">
|
|
943
|
-
<g class="lk-mini-rays" fill="#e2bd63" fill-opacity=".06">${
|
|
950
|
+
<g class="lk-mini-rays" fill="#e2bd63" fill-opacity=".06">${xf.map(e=>g`<path d=${e} />`)}</g>
|
|
944
951
|
<g class="lk-mini-speed" stroke="#f6e2a6" stroke-opacity=".35" stroke-width="1.5" stroke-linecap="round">
|
|
945
|
-
${[1,2].map(e=>
|
|
952
|
+
${[1,2].map(e=>wf.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} />`))}
|
|
946
953
|
</g>
|
|
947
954
|
</g>
|
|
948
|
-
<path class="lk-mini-trail" d=${
|
|
955
|
+
<path class="lk-mini-trail" d=${bf} fill="none" stroke="url(#lk-mini-trail)" stroke-width="4" stroke-linecap="round" pathLength="100" />
|
|
949
956
|
<text x="110" y="74" class="lk-mini-multiplier" text-anchor="middle">${this.takeoffShown.toFixed(2)}×</text>
|
|
950
|
-
<path class="lk-mini-glint" d=${
|
|
951
|
-
${
|
|
952
|
-
${
|
|
957
|
+
<path class="lk-mini-glint" d=${bf} fill="none" stroke="#fffbe8" stroke-width="3" stroke-linecap="round" pathLength="100" />
|
|
958
|
+
${Ko()===`christmas`?g`<g class="lk-mini-plane"><g transform="translate(156 128) rotate(-36) scale(.62)">
|
|
959
|
+
${Yo.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`:_} />`)}
|
|
953
960
|
</g></g>`:g`<g class="lk-mini-plane"><g transform="translate(160 124) rotate(-36) scale(.62)">
|
|
954
961
|
<path d="M-24 -2L-34 -15L-27 -15L-15 -5Z" fill="#7d1c24" />
|
|
955
962
|
<ellipse rx="26" ry="7.5" fill="#f6e2a6" stroke="#8a6420" stroke-width="1.2" />
|
|
@@ -959,8 +966,8 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
959
966
|
</svg>
|
|
960
967
|
`}breakawayArt(){return h`
|
|
961
968
|
<svg class="lk-mini-breakaway" viewBox="0 0 260 220" aria-hidden="true">
|
|
962
|
-
<defs>${
|
|
963
|
-
${
|
|
969
|
+
<defs>${Sf.map((e,t)=>g`<clipPath id="lk-mini-stand-${t}"><polygon points=${e} /></clipPath>`)}</defs>
|
|
970
|
+
${Sf.map((e,t)=>g`
|
|
964
971
|
<g>
|
|
965
972
|
<polygon points=${e} fill="#2a1208" />
|
|
966
973
|
<g clip-path="url(#lk-mini-stand-${t})">
|
|
@@ -970,7 +977,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
970
977
|
<polygon points=${e} fill="none" stroke="#d4a94e" stroke-opacity=".5" stroke-linejoin="round" />
|
|
971
978
|
</g>
|
|
972
979
|
`)}
|
|
973
|
-
${
|
|
980
|
+
${Cf.map(e=>g`
|
|
974
981
|
<g class="lk-mini-fan" style="--d: ${e.delay}">
|
|
975
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" />
|
|
976
983
|
<rect x=${e.x-3.5} y=${e.y+1} width="7" height="6" rx="2" fill=${e.color} />
|
|
@@ -991,14 +998,14 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
991
998
|
<circle class="lk-mini-football" cx="80" cy="180" r="6" fill="#fff" stroke="#1a1a1a" stroke-width="1" />
|
|
992
999
|
</g>
|
|
993
1000
|
</svg>
|
|
994
|
-
`}rouletteArt(){let e=
|
|
1001
|
+
`}rouletteArt(){let e=M(`roulette`)>1;return h`
|
|
995
1002
|
<div class="lk-mini-storm ${e?`is-storm`:``}">
|
|
996
1003
|
<fl-roulette-wheel rootClass="lk-mini-roulette" prefix="mr" .struck=${e?this.struck:void 0}></fl-roulette-wheel>
|
|
997
1004
|
${e?h`<svg class="lk-mini-bolts" viewBox="0 0 220 220" aria-hidden="true">
|
|
998
|
-
${
|
|
1005
|
+
${yf.map((e,t)=>g`<polyline points=${e} style="--d: ${t*.8}s" />`)}
|
|
999
1006
|
</svg>`:_}
|
|
1000
1007
|
</div>
|
|
1001
|
-
`}pachinkoArt(){let e=
|
|
1008
|
+
`}pachinkoArt(){let e=M(`pachinko`)>1;return h`
|
|
1002
1009
|
<svg class="lk-mini-pachinko ${e?`is-colorful`:``}" viewBox="0 0 220 260" aria-hidden="true">
|
|
1003
1010
|
<defs>
|
|
1004
1011
|
<linearGradient id="lk-mini-pachi-board" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#102941" /><stop offset="1" stop-color="#080e1c" /></linearGradient>
|
|
@@ -1006,23 +1013,23 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1006
1013
|
</defs>
|
|
1007
1014
|
${e?g`
|
|
1008
1015
|
<path d="M10 250V110a100 100 0 0 1 200 0v140z" fill="url(#lk-mini-pachi-board)" stroke="#d4a94e" stroke-width="3" />
|
|
1009
|
-
${
|
|
1016
|
+
${mf.map((e,t)=>{let n=vf(t)===`violet`;return g`
|
|
1010
1017
|
<g>
|
|
1011
|
-
<circle cx=${e.x} cy=${e.y} r=${n?5.6:4.4} fill=${
|
|
1012
|
-
<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=${gf[vf(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=${gf[vf(t)][0]} />
|
|
1013
1020
|
</g>
|
|
1014
1021
|
`})}
|
|
1015
|
-
${
|
|
1022
|
+
${hf.map((e,t)=>g`<rect x=${14+t*28} y="226" width="24" height="20" rx="4" fill=${e} />`)}
|
|
1016
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}" />`)}
|
|
1017
1024
|
<circle class="lk-ball lk-ball--gold" cx="110" cy="30" r="6" fill="url(#lk-mini-pachi-gold)" />
|
|
1018
1025
|
`:g`
|
|
1019
1026
|
<path d="M10 250V110a100 100 0 0 1 200 0v140z" fill="#2a140a" stroke="#d4a94e" stroke-width="3" />
|
|
1020
|
-
${
|
|
1021
|
-
${
|
|
1027
|
+
${mf.map(e=>g`<circle cx=${e.x} cy=${e.y} r="3" fill="#d4a94e" />`)}
|
|
1028
|
+
${hf.map((e,t)=>g`<rect x=${14+t*28} y="226" width="24" height="20" rx="4" fill=${e} />`)}
|
|
1022
1029
|
<circle class="lk-ball" cx="110" cy="30" r="6" fill="#f4ecdc" />
|
|
1023
1030
|
`}
|
|
1024
1031
|
</svg>
|
|
1025
|
-
`}scratchArt(){let e=
|
|
1032
|
+
`}scratchArt(){let e=M(`scratch`)>1?ds():`classic`,t=nd(this.t(`scratch.prize`));return e===`double`?h`
|
|
1026
1033
|
<svg class="lk-mini-scratch" viewBox="0 0 200 250" aria-hidden="true">
|
|
1027
1034
|
<defs>
|
|
1028
1035
|
<clipPath id="lk-mini-double-clip"><rect width="200" height="250" rx="18" /></clipPath>
|
|
@@ -1083,10 +1090,10 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1083
1090
|
<rect x="16" y="20" width="90" height="12" rx="6" fill="#7d1c24" opacity=".75" />
|
|
1084
1091
|
</g>
|
|
1085
1092
|
</svg>
|
|
1086
|
-
`}art(e){if(e===`wheel`)return h`<fl-wheel-face rootClass="lk-mini-wheel" prefix="mw"></fl-wheel-face>`;if(e===`slot`){let e=
|
|
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?us():`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=$o(),n=t?[t,...es.filter(e=>e!==t)]:es;return h`
|
|
1087
1094
|
<div class="lk-lobby" style="--page: ${e}">
|
|
1088
1095
|
<div class="lk-pages">
|
|
1089
|
-
<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(df[0])}>
|
|
1090
1097
|
<div class="lk-grid">
|
|
1091
1098
|
${n.map((e,t)=>h`
|
|
1092
1099
|
<button
|
|
@@ -1097,7 +1104,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1097
1104
|
@click=${()=>this.play(e)}
|
|
1098
1105
|
>
|
|
1099
1106
|
<i class="lk-bulbs" aria-hidden="true"></i>
|
|
1100
|
-
${
|
|
1107
|
+
${M(e)>1?Hs(this.room.t,M(e)):_}
|
|
1101
1108
|
<div class="lk-table-body">
|
|
1102
1109
|
<div class="lk-art">${this.art(e)}</div>
|
|
1103
1110
|
${this.meta(e)}
|
|
@@ -1107,21 +1114,22 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1107
1114
|
</div>
|
|
1108
1115
|
</section>
|
|
1109
1116
|
|
|
1110
|
-
<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(df[1])}>
|
|
1111
1118
|
<header class="lk-private-head">
|
|
1112
1119
|
<i class="lk-rope" aria-hidden="true"><b></b><b></b></i>
|
|
1113
1120
|
<h3>${this.t(`lobby.private`)}</h3>
|
|
1114
1121
|
<small>${this.t(`lobby.privateLine`)}</small>
|
|
1115
1122
|
</header>
|
|
1116
1123
|
<div class="lk-grid lk-grid--private">
|
|
1117
|
-
${
|
|
1124
|
+
${ts.map((e,t)=>h`
|
|
1118
1125
|
<button class="lk-table lk-table--private lk-table--${e}" style="--i: ${t}" @click=${()=>this.play(e)}>
|
|
1126
|
+
${M(e)>1?Hs(this.room.t,M(e),!0):_}
|
|
1119
1127
|
<div class="lk-table-body">
|
|
1120
1128
|
<div class="lk-art">
|
|
1121
1129
|
<div class="lk-mini-cards">
|
|
1122
|
-
<div class="lk-mini-hand is-dealer">${
|
|
1123
|
-
${e===`holdem`?h`<div class="lk-mini-hand is-board">${
|
|
1124
|
-
<div class="lk-mini-hand is-player">${
|
|
1130
|
+
<div class="lk-mini-hand is-dealer">${ff[e].dealer.map((e,t)=>Wd(e,{hidden:t===1}))}</div>
|
|
1131
|
+
${e===`holdem`?h`<div class="lk-mini-hand is-board">${pf.map(e=>Wd(e))}</div>`:_}
|
|
1132
|
+
<div class="lk-mini-hand is-player">${ff[e].player.map(e=>Wd(e))}</div>
|
|
1125
1133
|
</div>
|
|
1126
1134
|
</div>
|
|
1127
1135
|
${this.meta(e)}
|
|
@@ -1133,7 +1141,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1133
1141
|
</div>
|
|
1134
1142
|
|
|
1135
1143
|
<nav class="lk-pager" aria-label=${this.t(`lobby.pager`)}>
|
|
1136
|
-
${
|
|
1144
|
+
${df.map((t,n)=>h`<button
|
|
1137
1145
|
type="button"
|
|
1138
1146
|
class=${e===n?`is-current`:``}
|
|
1139
1147
|
aria-current=${e===n?`page`:_}
|
|
@@ -1143,17 +1151,17 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1143
1151
|
></button>`)}
|
|
1144
1152
|
</nav>
|
|
1145
1153
|
</div>
|
|
1146
|
-
`}},
|
|
1154
|
+
`}},L([b({type:Number})],jf.prototype,`page`,void 0),L([x()],jf.prototype,`takeoffShown`,void 0),L([S(`.lk-grid`)],jf.prototype,`grid`,void 0),jf=L([y(`fl-lobby`)],jf)}));function Nf(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 Pf(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 Ff(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 If,Lf,Rf,zf,Bf,Vf,Hf,Uf,Wf,Gf,Kf,qf,Jf,Yf,Xf,Zf,Qf,$f,ep,tp,np,rp,ip,ap=n((()=>{v(),C(),k(),Xo(),B(),F(),R(),If=140,Lf=Array.from({length:20},(e,t)=>t*If),Rf=`M0 2Q${If/2} 24 ${If} 2`,zf=e=>({x:e*If,y:2+2*(1-e)*e*22}),Bf=[.2,.5,.8].map(zf),Vf=[.08,.25,.42,.58,.75,.92].map(zf),Hf=[.1,.3,.5,.7,.9].map(zf),Uf=[`#ffc8dd`,`#cdb4ff`,`#b8f0c8`],Wf=[`#ffd23f`,`#3ec1c9`,`#ff6f59`,`#fff4d6`,`#3ec1c9`,`#ff6f59`],Gf=(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(` `),Kf=Gf(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`}],Jf=[[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}})),Yf=[1,2,3].map(e=>`M${Jf.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`)}`),Xf=[{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`}],Zf=[{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`}],Qf=[{x:104,y:200,color:`#6b2fa0`},{x:122,y:198,color:`#9be36a`},{x:92,y:203,color:`#ffd23f`}],$f=[{x:56,y:0,scale:1},{x:34,y:120,scale:.55}].reverse(),ep=[{x:110,y:270,color:`#9be36a`},{x:204,y:272,color:`#6b2fa0`}],tp=[{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`}],np=[12,48,86,118],rp=({x:e,y:t,color:n})=>g`<g>
|
|
1147
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} />
|
|
1148
1156
|
<ellipse cx=${e} cy=${t} rx="9" ry="6" fill=${n} />
|
|
1149
|
-
</g>`,
|
|
1157
|
+
</g>`,ip=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`?Nf(n,e):Pf(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),Ff(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`
|
|
1150
1158
|
<path d="M0 46Q35 34 70 44T140 46V80H0Z" fill="#cfdcec" />
|
|
1151
1159
|
<path d="M0 54Q35 44 70 52T140 54V80H0Z" fill="#f4f8fc" />`:e===`halloween`?g`
|
|
1152
1160
|
<path d="M0 52Q17 46 35 52T70 52T105 52T140 52V80H0Z" fill="#1d1220" />
|
|
1153
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`
|
|
1154
1162
|
<path d="M0 50Q17 42 35 50T70 50T105 50T140 50V80H0Z" fill="#4a8a3a" />
|
|
1155
1163
|
<path d="M0 58Q17 52 35 58T70 58T105 58T140 58V80H0Z" fill="#5e9e4a" />
|
|
1156
|
-
${
|
|
1164
|
+
${np.map(e=>g`<g transform=${`translate(${e+8} ${62+e%3*4})`}>
|
|
1157
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" />`)}
|
|
1158
1166
|
<circle r="1.6" fill="#ffd23f" />
|
|
1159
1167
|
</g>`)}`:g`
|
|
@@ -1166,15 +1174,15 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1166
1174
|
<linearGradient id="lk-scene-fir" x1="0" x2="1"><stop offset="0" stop-color="#2f8a4e" /><stop offset="1" stop-color="#164226" /></linearGradient>
|
|
1167
1175
|
</defs>
|
|
1168
1176
|
<rect x="100" y="238" width="20" height="30" fill="#5a3418" />
|
|
1169
|
-
${
|
|
1177
|
+
${qf.map(e=>g`<g>
|
|
1170
1178
|
<path d=${e.d} fill="url(#lk-scene-fir)" />
|
|
1171
1179
|
<path d=${e.snow} fill="none" stroke="#f4f8fc" stroke-width="4" stroke-linecap="round" opacity=".9" />
|
|
1172
1180
|
</g>`)}
|
|
1173
|
-
${
|
|
1174
|
-
${
|
|
1175
|
-
${
|
|
1176
|
-
${
|
|
1177
|
-
<polygon class="lk-scene-star" points=${
|
|
1181
|
+
${Yf.map(e=>g`<path d=${e} fill="none" stroke="#f3d488" stroke-opacity=".6" />`)}
|
|
1182
|
+
${Xf.map(e=>g`<circle cx=${e.x} cy=${e.y} r="6" fill=${e.color} />`)}
|
|
1183
|
+
${Xf.map(e=>g`<circle cx=${e.x-2} cy=${e.y-2} r="1.8" fill="#fff" opacity=".7" />`)}
|
|
1184
|
+
${Jf.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=${Kf} fill="#ffd86b" stroke="#fff4d6" stroke-width="1" />
|
|
1178
1186
|
<rect x="26" y="240" width="40" height="30" fill="#c8202f" />
|
|
1179
1187
|
<path d="M43 240h6v30h-6zM26 252h40v6h-40z" fill="#f3d488" />
|
|
1180
1188
|
<path d="M46 240c-12-12-20 0 0 0M46 240c12-12 20 0 0 0" stroke="#f3d488" stroke-width="3" fill="none" />
|
|
@@ -1216,7 +1224,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1216
1224
|
<path d="M72 196Q56 238 96 258" stroke="#3ec1c9" stroke-width="10" fill="none" />
|
|
1217
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`
|
|
1218
1226
|
<path d="M0 280Q40 262 90 268Q150 258 220 272V280Z" fill="#f4f8fc" />
|
|
1219
|
-
${
|
|
1227
|
+
${Zf.map(e=>g`<g transform="translate(16 0)">
|
|
1220
1228
|
<rect x=${e.x} y=${e.y} width=${e.width} height=${e.height} fill=${e.box} />
|
|
1221
1229
|
<rect x=${e.x-4} y=${e.y-4} width=${e.width+8} height="11" fill=${e.lid} />
|
|
1222
1230
|
<rect x=${e.x+e.width/2-4} y=${e.y-4} width="8" height=${e.height+4} fill=${e.ribbon} />
|
|
@@ -1224,21 +1232,21 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1224
1232
|
</g>`)}
|
|
1225
1233
|
<path d="M214 270V204Q214 188 200 188Q186 188 186 200" stroke="#fff" stroke-width="8" fill="none" stroke-linecap="round" />
|
|
1226
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`
|
|
1227
|
-
${
|
|
1235
|
+
${$f.map(e=>g`<g transform=${`translate(${e.x} ${e.y}) scale(${e.scale})`}>
|
|
1228
1236
|
<path d="M62 210Q100 150 138 210" stroke="#1b1210" stroke-width="3" fill="none" />
|
|
1229
1237
|
<circle cx="82" cy="180" r="9" fill="#ff5fa2" />
|
|
1230
1238
|
<path d="M82 180m-5 0a5 5 0 1 1 10 0" stroke="#fff" stroke-width="1.5" fill="none" />
|
|
1231
1239
|
<line x1="84" y1="188" x2="88" y2="206" stroke="#fff4e6" stroke-width="2" />
|
|
1232
|
-
${
|
|
1240
|
+
${Qf.map(rp)}
|
|
1233
1241
|
<path d="M60 210Q56 270 100 272Q144 270 140 210Z" fill="#e8781e" />
|
|
1234
1242
|
<ellipse cx="100" cy="210" rx="40" ry="8" fill="#b5520f" />
|
|
1235
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" />
|
|
1236
1244
|
</g>`)}
|
|
1237
|
-
${
|
|
1245
|
+
${ep.map(rp)}`:e===`easter`?g`
|
|
1238
1246
|
<ellipse cx="44" cy="262" rx="11" ry="14" fill="#ffc8dd" transform="rotate(-24 44 262)" />
|
|
1239
1247
|
<g transform="translate(34 0)">
|
|
1240
1248
|
<path d="M50 222Q110 116 170 222" stroke="#9a6a32" stroke-width="8" fill="none" />
|
|
1241
|
-
${
|
|
1249
|
+
${tp.map(e=>g`<g>
|
|
1242
1250
|
<ellipse cx=${e.x} cy=${e.y} rx="13" ry="17" fill=${e.color} />
|
|
1243
1251
|
<path d=${`M${e.x-13} ${e.y}q6.5-4 13 0t13 0`} stroke="#fff" stroke-width="2" fill="none" opacity=".85" />
|
|
1244
1252
|
</g>`)}
|
|
@@ -1257,40 +1265,40 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1257
1265
|
<path d="M196 236a18 18 0 0 1 0 36a10 18 0 0 0 0-36Z" fill="#ff6f59" />
|
|
1258
1266
|
<path d="M196 236a18 18 0 0 0 0 36a10 18 0 0 1 0-36Z" fill="#3ec1c9" />
|
|
1259
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`
|
|
1260
|
-
<path d=${
|
|
1261
|
-
<path d=${
|
|
1262
|
-
${
|
|
1268
|
+
<path d=${Rf} class="lk-fes-fir" />
|
|
1269
|
+
<path d=${Rf} class="lk-fes-needles" />
|
|
1270
|
+
${Bf.map((e,t)=>g`<g transform=${`translate(${e.x} ${e.y})`}>
|
|
1263
1271
|
<line y2="7" class="lk-fes-thread" />
|
|
1264
1272
|
<circle cy="12" r="5" fill=${t===1?`#c8202f`:`#d4a94e`} />
|
|
1265
1273
|
<circle cx="-1.6" cy="10.4" r="1.4" fill="#fff" opacity=".6" />
|
|
1266
1274
|
</g>`)}
|
|
1267
|
-
${
|
|
1268
|
-
<path d=${
|
|
1269
|
-
<g transform=${`translate(${
|
|
1275
|
+
${Hf.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=${Rf} class="lk-fes-string lk-fes-string--web" />
|
|
1277
|
+
<g transform=${`translate(${Bf[1].x} ${Bf[1].y})`}>
|
|
1270
1278
|
<line y2="5" class="lk-fes-thread" />
|
|
1271
1279
|
<ellipse cy="13" rx="9" ry="7.5" fill="#e0731f" />
|
|
1272
1280
|
<path d="M-3 7.5Q0 13 -3 20.5M3 7.5Q0 13 3 20.5" fill="none" stroke="#a84a10" stroke-width="1" />
|
|
1273
1281
|
<path d="M-1 4.5h2v2.5h-2z" fill="#3d5a1e" />
|
|
1274
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" />
|
|
1275
1283
|
</g>
|
|
1276
|
-
${[0,2].map(e=>g`<g transform=${`translate(${
|
|
1284
|
+
${[0,2].map(e=>g`<g transform=${`translate(${Bf[e].x} ${Bf[e].y+7}) scale(.5)`}>
|
|
1277
1285
|
<line y1="-14" y2="-4" class="lk-fes-thread" />
|
|
1278
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" />
|
|
1279
1287
|
</g>`)}`:e===`easter`?g`
|
|
1280
|
-
<path d=${
|
|
1281
|
-
${
|
|
1288
|
+
<path d=${Rf} class="lk-fes-ribbon" />
|
|
1289
|
+
${Bf.map((e,n)=>g`<g transform=${`translate(${e.x} ${e.y})`}>
|
|
1282
1290
|
<line y2="5" class="lk-fes-thread" />
|
|
1283
|
-
<ellipse cy="13" rx="6" ry="8" fill=${
|
|
1291
|
+
<ellipse cy="13" rx="6" ry="8" fill=${Uf[(t+n)%3]} />
|
|
1284
1292
|
<path d="M-6 12q3-2.4 6 0t6 0" fill="none" stroke="#fff" stroke-width="1.4" opacity=".85" />
|
|
1285
1293
|
${[-3,0,3].map(e=>g`<circle cx=${e} cy="17" r=".9" fill="#fff" opacity=".85" />`)}
|
|
1286
1294
|
</g>`)}`:g`
|
|
1287
|
-
<path d=${
|
|
1288
|
-
${
|
|
1295
|
+
<path d=${Rf} class="lk-fes-string" />
|
|
1296
|
+
${Vf.map((e,t)=>g`<path d=${`M${e.x-6} ${e.y}h12l-6 13z`} fill=${Wf[t]} transform=${`rotate(${(2.5-t)*6} ${e.x} ${e.y})`} />`)}`}render(){let e=this.theme,t=Lf.length*If;return h`
|
|
1289
1297
|
<canvas class="lk-theme-sky" aria-hidden="true"></canvas>
|
|
1290
1298
|
<div class="lk-scene lk-scene--${e}" aria-hidden="true">
|
|
1291
1299
|
<div class="lk-scene-ground">
|
|
1292
1300
|
<svg viewBox="0 0 ${t} 80" width=${t} height="80" preserveAspectRatio="xMinYMax meet">
|
|
1293
|
-
${
|
|
1301
|
+
${Lf.map(t=>g`<g transform=${`translate(${t} 0)`}>${this.ground(e)}</g>`)}
|
|
1294
1302
|
</svg>
|
|
1295
1303
|
</div>
|
|
1296
1304
|
|
|
@@ -1307,17 +1315,17 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1307
1315
|
</div>
|
|
1308
1316
|
<div class="lk-festoon lk-festoon--${e}" aria-hidden="true">
|
|
1309
1317
|
<svg viewBox="0 0 ${t} 40" width=${t} height="40">
|
|
1310
|
-
${
|
|
1318
|
+
${Lf.map((t,n)=>g`<g transform=${`translate(${t} 0)`}>${this.festoon(e,n)}</g>`)}
|
|
1311
1319
|
</svg>
|
|
1312
1320
|
</div>
|
|
1313
|
-
`}},
|
|
1321
|
+
`}},L([b({attribute:!1})],ip.prototype,`theme`,void 0),L([S(`.lk-theme-sky`)],ip.prototype,`canvas`,void 0),ip=L([y(`fl-theme`)],ip)})),op,sp=n((()=>{Wr(),fi(),Ci(),op=ui(class extends di{constructor(e){if(super(e),e.type!==li.PROPERTY&&e.type!==li.ATTRIBUTE&&e.type!==li.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!hi(e))throw Error("`live` bindings can only contain a single expression")}render(e){return e}update(e,[t]){if(t===kr||t===_)return t;let n=e.element,r=e.name;if(e.type===li.PROPERTY){if(t===n[r])return kr}else if(e.type===li.BOOLEAN_ATTRIBUTE){if(!!t===n.hasAttribute(r))return kr}else if(e.type===li.ATTRIBUTE&&n.getAttribute(r)===t+``)return kr;return bi(e),t}})})),cp=n((()=>{sp()}));function lp(e){let t=e.indexOf(`:`);return{tier:e.slice(0,t),award:e.slice(t+1)||null}}async function up(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 dp,fp,pp,mp,X,hp,gp,Z,_p,vp=n((()=>{N(),dp=[`automatic`,`loss`,`win`,`jackpot`],fp={wheel:[`segment`,`booster`,`prize`],slot:[`combination`,`prize`],roulette:[`number`,`storm`],pachinko:[`pocket`,`violet`],scratch:[`award`,`prize`],blackjack:[`prize`],holdem:[`prize`]},pp=[`segment`,`combination`,`number`,`pocket`,`award`],mp={},X={prizes:[]},hp=()=>({multiplier:void 0,variant:void 0,result:`automatic`,advanced:{}}),gp={slot:os,scratch:as},Z=e=>mp[e]??hp(),_p={none:`none`,pair:`small`,logos:`big`,sevens:`big`,infinities:`jackpot`}}));function yp(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?_p[r.combination]:e===`pachinko`&&r.pocket?Ou[Number(r.pocket)-1]:e===`scratch`&&r.award?lp(r.award).tier:xp[n]??t()}function bp(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 xp,Sp,Cp,wp,Tp=n((()=>{A(),Mu(),k(),ml(),Vs(),vp(),xp={automatic:void 0,loss:`none`,win:`small`,jackpot:`jackpot`},Sp=Ou.indexOf(`jackpot`),Cp=()=>Z(`pachinko`).result===`jackpot`&&!Z(`pachinko`).advanced.pocket,wp={boost:({game:e},t)=>Z(e).multiplier??t(),tier:({game:e},t)=>yp(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}=lp(i),s=go(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)=>zs(e)===n?[t]:[]):[];return r.length?E(r):t()},"wheel.booster":({segments:e},t)=>{let n=Z(`wheel`).advanced.booster;return n&&Bs(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=xp[i];if(!o&&!a.storm)return r();let s=tl.filter(n=>{let r=el(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(!Cp())return n;let[r,i]=ku,a=e=>e.y>=r&&e.y<=i;if(Z(`pachinko`).advanced.violet===`hit`){let t=bp(e,9),n=E(t.filter(a));return{violet:n,reds:t.filter(e=>e!==n)}}let o=bp(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!Cp()&&!r?n():{through:[...Cp()?t:[],...r===`hit`?[e]:[]].sort((e,t)=>e.y-t.y),avoid:r===`miss`?[e]:[]}},"pachinko.wins":(e,t)=>{let n=xp[Z(`pachinko`).result];return n?n!==`none`:t()},"pachinko.pocket":(e,t)=>{let{pocket:n}=Z(`pachinko`).advanced;return n?Number(n)-1:Cp()?Sp:t()},"scratch.ticket":(e,t)=>Z(`scratch`).variant??t(),locale:(e,t)=>X.locale??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)=>xp[Z(`slot`).result]&&xp[Z(`slot`).result]!==`none`?null:t(),"scratch.award":(e,t)=>{let{award:n}=Z(`scratch`).advanced;return n?lp(n).award:t()}}})),Ep=r({Developer:()=>Q}),Dp,Op,kp,Ap,Q,jp=n((()=>{v(),C(),Ei(),cp(),w(),A(),Mu(),ko(),Xo(),N(),Vs(),B(),H(),Tp(),vp(),R(),Dp=`feeling-lucky.developer`,Op=8,kp=[`small`,`big`,`coin`,`hunt`,`pachinko`,`jackpot`],Ap=!1,Q=class extends z{constructor(){super(),this.open=!0,this.unlocked=Ap,this.password=``,this.wrong=!1,this.minimized=!1,this.position={x:innerWidth-416-16,y:108},this.selected=`wheel`,this.draft=hp(),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 up(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?mp[this.selected]={...this.draft,advanced:e}:delete mp[this.selected],wo(this.selected)},this.reset=()=>{for(let e of ns)delete mp[e];this.load(this.selected),wo(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}=lp(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(Dp)??`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(Dp,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(Op,Math.min(innerWidth-n-Op,e)),y:Math.max(Op,Math.min(innerHeight-r-Op,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(){Co(wp),this.unlocked=Ap=!0}setLanguage(e){X.locale=e||void 0,Oo.value++}setDealer(e){X.dealer=e===``?void 0:e===`none`?`none`:Number(e),Oo.value++,this.requestUpdate()}setTheme(e){X.theme=e||void 0,Oo.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=()=>Bs(js(this.room.board)).sort((e,t)=>kp.indexOf(e.split(`:`)[0])-kp.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 Ou.map((e,t)=>({value:String(t+1),label:this.t(`developer.option.pocket`,{n:t+1})}));case`award`:return vo.flatMap(e=>this.room.board[e].map(t=>({value:So(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>
|
|
1314
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}>
|
|
1315
1323
|
<label class="lk-dev-row">${this.t(`developer.password`)}
|
|
1316
1324
|
<input
|
|
1317
1325
|
data-first
|
|
1318
1326
|
type="password"
|
|
1319
1327
|
autocomplete="off"
|
|
1320
|
-
.value=${
|
|
1328
|
+
.value=${op(this.password)}
|
|
1321
1329
|
aria-invalid=${this.wrong}
|
|
1322
1330
|
aria-describedby=${this.wrong?`lk-dev-wrong`:_}
|
|
1323
1331
|
@input=${e=>{this.password=e.target.value,this.wrong=!1}}
|
|
@@ -1325,23 +1333,28 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1325
1333
|
</label>
|
|
1326
1334
|
${this.wrong?h`<p id="lk-dev-wrong" class="lk-dev-error" role="alert">${this.t(`developer.wrongPassword`)}</p>`:_}
|
|
1327
1335
|
<footer>
|
|
1328
|
-
<button type="submit" class="is-primary" ?disabled=${!this.password}>${
|
|
1336
|
+
<button type="submit" class="is-primary" ?disabled=${!this.password}>${V(ka)}${this.t(`developer.unlock`)}</button>
|
|
1329
1337
|
</footer>
|
|
1330
|
-
</form>`;let{selected:e,draft:t}=this,n=
|
|
1338
|
+
</form>`;let{selected:e,draft:t}=this,n=fp[e].find(e=>pp.includes(e)&&t.advanced[e]!==void 0),r=gp[e],i=e=>e.target.value;return h`<div class="lk-dev-body">
|
|
1331
1339
|
<p class="lk-dev-hint">${this.t(`developer.hint`)}</p>
|
|
1332
1340
|
<label class="lk-dev-row">${this.t(`developer.theme`)}
|
|
1333
1341
|
<select data-first @change=${e=>this.setTheme(i(e))}>
|
|
1334
|
-
${this.choices([{value:`none`,label:this.t(`developer.noTheme`)},...
|
|
1342
|
+
${this.choices([{value:`none`,label:this.t(`developer.noTheme`)},...Ho.map(e=>({value:e,label:this.t(`themes.${e}.name`)}))],X.theme,this.t(`developer.calendar`))}
|
|
1335
1343
|
</select>
|
|
1336
1344
|
</label>
|
|
1337
1345
|
<label class="lk-dev-row">${this.t(`developer.language`)}
|
|
1338
1346
|
<select @change=${e=>this.setLanguage(i(e))}>
|
|
1339
|
-
${this.choices(this.room.locales.map(e=>({value:e,label:new Intl.DisplayNames([e],{type:`language`}).of(e)??e})),
|
|
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`))}
|
|
1340
1348
|
</select>
|
|
1341
1349
|
</label>
|
|
1350
|
+
${this.room.dealers.length?h`<label class="lk-dev-row">${this.t(`developer.dealer`)}
|
|
1351
|
+
<select @change=${e=>this.setDealer(i(e))}>
|
|
1352
|
+
${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`))}
|
|
1353
|
+
</select>
|
|
1354
|
+
</label>`:_}
|
|
1342
1355
|
<label class="lk-dev-row">${this.t(`developer.game`)}
|
|
1343
1356
|
<select @change=${this.selectGame}>
|
|
1344
|
-
${
|
|
1357
|
+
${ns.map(t=>h`<option value=${t} ?selected=${t===e}>${this.t(`games.${t}.name`)}</option>`)}
|
|
1345
1358
|
</select>
|
|
1346
1359
|
</label>
|
|
1347
1360
|
${wi(this.loads,h`<label class="lk-dev-row">${this.t(`developer.multiplier`)}
|
|
@@ -1356,18 +1369,18 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1356
1369
|
</label>`:_}
|
|
1357
1370
|
<label class="lk-dev-row">${this.t(`developer.result`)}
|
|
1358
1371
|
<select ?disabled=${!!n} @change=${e=>this.change(`result`,i(e))}>
|
|
1359
|
-
${
|
|
1372
|
+
${dp.map(e=>h`<option value=${e} ?selected=${e===t.result}>${this.t(`developer.${e}`)}</option>`)}
|
|
1360
1373
|
</select>
|
|
1361
1374
|
</label>
|
|
1362
1375
|
${n?h`<p class="lk-dev-note">${this.t(`developer.decidedBy`,{field:this.t(`developer.field.${n}`)})}</p>`:_}
|
|
1363
1376
|
|
|
1364
1377
|
<details
|
|
1365
1378
|
class="lk-dev-advanced"
|
|
1366
|
-
?open=${this.advancedOpen||
|
|
1379
|
+
?open=${this.advancedOpen||fp[e].some(e=>t.advanced[e]!==void 0)}
|
|
1367
1380
|
@toggle=${e=>this.advancedOpen=e.target.open}
|
|
1368
1381
|
>
|
|
1369
|
-
<summary>${
|
|
1370
|
-
${
|
|
1382
|
+
<summary>${V(Vi)}${this.t(`developer.advanced`)}</summary>
|
|
1383
|
+
${fp[e].map(e=>h`<label class="lk-dev-row">${this.t(`developer.field.${e}`)}
|
|
1371
1384
|
<select @change=${t=>this.changeAdvanced(e,i(t))}>
|
|
1372
1385
|
${this.choices(this.options(e),t.advanced[e],this.t(`developer.automatic`))}
|
|
1373
1386
|
</select>
|
|
@@ -1376,8 +1389,8 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1376
1389
|
</details>`)}
|
|
1377
1390
|
|
|
1378
1391
|
<footer>
|
|
1379
|
-
<button type="button" @click=${this.reset}>${
|
|
1380
|
-
<button type="button" class="is-primary" @click=${this.apply}>${
|
|
1392
|
+
<button type="button" @click=${this.reset}>${V(Va)}${this.t(`developer.reset`)}</button>
|
|
1393
|
+
<button type="button" class="is-primary" @click=${this.apply}>${V(zi)}${this.t(`developer.apply`)}</button>
|
|
1381
1394
|
</footer>
|
|
1382
1395
|
</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}>
|
|
1383
1396
|
${e?h`<button
|
|
@@ -1391,19 +1404,19 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1391
1404
|
@pointercancel=${this.release}
|
|
1392
1405
|
@click=${this.restore}
|
|
1393
1406
|
>
|
|
1394
|
-
${
|
|
1407
|
+
${V(ta)}
|
|
1395
1408
|
</button>`:h`<section class="lk-dev-panel" aria-label=${this.t(`developer.title`)}>
|
|
1396
1409
|
<header @pointerdown=${this.grab} @pointermove=${this.move} @pointerup=${this.release} @pointercancel=${this.release}>
|
|
1397
|
-
${
|
|
1398
|
-
<strong>${
|
|
1410
|
+
${V(_a,`lk-dev-grip`)}
|
|
1411
|
+
<strong>${V(ta)}${this.t(`developer.title`)}</strong>
|
|
1399
1412
|
${this.unlocked?h`<button type="button" aria-label=${this.t(`developer.minimize`)} title=${this.t(`developer.minimize`)} @click=${()=>this.minimize(!0)}>
|
|
1400
|
-
${
|
|
1413
|
+
${V(Na)}
|
|
1401
1414
|
</button>`:_}
|
|
1402
|
-
<button type="button" aria-label=${this.t(`developer.close`)} title=${this.t(`developer.close`)} @click=${this.toggle}>${
|
|
1415
|
+
<button type="button" aria-label=${this.t(`developer.close`)} title=${this.t(`developer.close`)} @click=${this.toggle}>${V(so)}</button>
|
|
1403
1416
|
</header>
|
|
1404
1417
|
${this.renderBody()}
|
|
1405
1418
|
</section>`}
|
|
1406
|
-
</div>`}},I([b({attribute:!1})],Q.prototype,`passwordHash`,void 0),I([x()],Q.prototype,`open`,void 0),I([x()],Q.prototype,`unlocked`,void 0),I([x()],Q.prototype,`password`,void 0),I([x()],Q.prototype,`wrong`,void 0),I([x()],Q.prototype,`minimized`,void 0),I([x()],Q.prototype,`position`,void 0),I([x()],Q.prototype,`selected`,void 0),I([x()],Q.prototype,`draft`,void 0),I([x()],Q.prototype,`loads`,void 0),I([x()],Q.prototype,`advancedOpen`,void 0),I([S(`.lk-dev`)],Q.prototype,`box`,void 0),I([S(`.lk-dev [data-first]`)],Q.prototype,`first`,void 0),I([S(`.lk-dev-icon`)],Q.prototype,`iconButton`,void 0),Q=I([y(`fl-developer`)],Q)})),yp,bp,xp,$,Sp=n((()=>{Mn(),v(),C(),Ei(),Pi(),w(),Co(),k(),Ao(),Ho(),M(),ss(),ps(),Zt(),z(),V(),P(),xs(),zt(),Kd(),Yd(),vf(),Gf(),L(),yp={wheel:`fl-wheel`,slot:`fl-slot`,roulette:`fl-roulette`,pachinko:`fl-pachinko`,scratch:`fl-scratch`,blackjack:`fl-blackjack`,holdem:`fl-holdem`},bp=e=>e===`slot`&&j(`slot`)>1?ns()===`takeoff`?`fl-takeoff`:`fl-breakaway`:yp[e],xp=us(700,450,1.4),$=class extends R{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=H.enabled,this.developerLoaded=!1,this.lightsFrame=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(()=>(vp(),pp)).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,Oo,ko)}get theme(){return Ro()}willUpdate(e){let t=this.locale();Yt(t)||Xt(t).then(()=>this.requestUpdate(),()=>void 0),(!this.room||Yt(t)&&(e.has(`config`)||this.room.locale!==t))&&(this.room=this.context()),F.confetti=this.theme?zo[this.theme].confetti:void 0;let n=Oo.value;n&&(Oo.value=void 0,this.banner=null,this.celebrating=null,this.boost=0,this.go(n.game))}locale(){return A(`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,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??os(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="" />`:B($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),H.play(e.jackpot?`jackpot`:`win`),!N()&&e.jackpot?(await this.updateComplete,this.querySelectorAll(`.lk-win-text h2 span`).forEach((e,n)=>setTimeout(()=>{if(this.round!==t||!this.section)return;ls(this.section,.5+n*.08);let r=e.getBoundingClientRect();F.burst(r.left+r.width/2,r.top+r.height*.6,{count:18,type:`spark`,speed:640,life:.6,gravity:300,colors:fs}),H.play(`tick`,1+n*.08)},260+n*110)),F.cannons(2400),setTimeout(()=>this.round===t&&F.fountain(2600),700)):F.burst(innerWidth/2,innerHeight*.45,{count:70,speed:820}),await cs(N()?700:e.jackpot?2500:1250),this.round===t&&(this.banner=null)}close(){this.phase=`closing`,this.stopLights(),setTimeout(()=>this.dispatchEvent(new Event(`closed`)),N()?0:560)}toggleSound(){this.soundOn=!this.soundOn,H.enable(this.soundOn),H.play(`chime`)}startLights(){let e=this.lightsCanvas;if(!e||N())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?zo[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=()=>{H.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(),Do.value=!0,this.previousOverflow=document.body.style.overflow,document.body.style.overflow=`hidden`,addEventListener(`keydown`,this.onKey)}firstUpdated(){F.attach(this.fxCanvas??null),H.play(`whoosh`),requestAnimationFrame(()=>{this.phase=`open`,setTimeout(()=>{this.phase===`open`&&(this.phase=`ready`,this.startLights())},N()?0:850)})}disconnectedCallback(){super.disconnectedCallback(),Do.value=!1,this.stopLights(),F.attach(null),document.body.style.overflow=this.previousOverflow,removeEventListener(`keydown`,this.onKey)}render(){let{view:e,phase:t,celebrating:n,banner:r,theme:i}=this,a=e===`lobby`?this.lobbyPage===1:qo.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`
|
|
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`
|
|
1407
1420
|
<section
|
|
1408
1421
|
class=${c}
|
|
1409
1422
|
style="--lk-ox: ${this.origin.x}px; --lk-oy: ${this.origin.y}px"
|
|
@@ -1419,13 +1432,13 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1419
1432
|
<div class="lk-drapes" aria-hidden="true"><i></i><i></i></div>
|
|
1420
1433
|
<div class="lk-veil" aria-hidden="true"></div>
|
|
1421
1434
|
<svg class="lk-guilloche" viewBox="0 0 1400 900" preserveAspectRatio="xMidYMid slice" aria-hidden="true">
|
|
1422
|
-
${
|
|
1435
|
+
${Pp.map(e=>g`<polyline points=${e} fill="none" stroke="#d4a94e" stroke-opacity="0.16" stroke-width="0.5" />`)}
|
|
1423
1436
|
</svg>
|
|
1424
1437
|
<div class="lk-twinkles" aria-hidden="true"><i></i><i></i></div>
|
|
1425
1438
|
|
|
1426
1439
|
<header class="lk-head">
|
|
1427
1440
|
<button class="lk-btn lk-btn--outline" @click=${()=>e===`lobby`?this.close():this.go(`lobby`)}>
|
|
1428
|
-
${
|
|
1441
|
+
${V(Fi)} ${e===`lobby`?this.t(`backToOverview`):this.t(`backToGames`)}
|
|
1429
1442
|
</button>
|
|
1430
1443
|
<h2>${o}${e===`lobby`?_:h`<small>${this.t(`title`)}</small>`}</h2>
|
|
1431
1444
|
<div class="lk-end">
|
|
@@ -1436,7 +1449,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1436
1449
|
data-tip=${this.t(this.soundOn?`soundOn`:`soundOff`)}
|
|
1437
1450
|
@click=${this.toggleSound}
|
|
1438
1451
|
>
|
|
1439
|
-
${
|
|
1452
|
+
${V(this.soundOn?ro:ao)}
|
|
1440
1453
|
</button>
|
|
1441
1454
|
</div>
|
|
1442
1455
|
</header>
|
|
@@ -1453,7 +1466,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1453
1466
|
.page=${this.lobbyPage}
|
|
1454
1467
|
@page=${e=>this.lobbyPage=e.detail}
|
|
1455
1468
|
@play=${e=>this.go(e.detail)}
|
|
1456
|
-
></fl-lobby>`:wi(this.round,Mi`<${ki(
|
|
1469
|
+
></fl-lobby>`:wi(this.round,Mi`<${ki(Np(e))} .options=${this.options}></${ki(Np(e))}>`)}
|
|
1457
1470
|
</div>
|
|
1458
1471
|
|
|
1459
1472
|
${this.certificate?h`<fl-certificate
|
|
@@ -1475,4 +1488,7 @@ var FeelingLucky=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:
|
|
|
1475
1488
|
|
|
1476
1489
|
<canvas class="lk-fx" aria-hidden="true"></canvas>
|
|
1477
1490
|
</section>
|
|
1478
|
-
`}},
|
|
1491
|
+
`}},L([b({attribute:!1})],$.prototype,`config`,void 0),L([b({attribute:!1})],$.prototype,`origin`,void 0),L([On({context:fs}),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`)],$)})),Ip=r({mountRoom:()=>Rp});function Lp(){document.getElementById(`feeling-lucky-properties`)||document.head.append(Object.assign(document.createElement(`style`),{id:`feeling-lucky-properties`,textContent:Bp}))}function Rp(e,t,n){Lp();let r=e.attachShadow({mode:`open`});zp??=new CSSStyleSheet,zp.cssRules.length||zp.replaceSync(hn),r.adoptedStyleSheets=[zp];let i=document.createElement(`fl-room`);return i.config=t,n&&(i.origin=n),r.append(i),i}var zp,Bp,Vp=n((()=>{gn(),Fp(),Bp=`
|
|
1492
|
+
@property --lk-notch-x { syntax: '<number>'; inherits: true; initial-value: 0; }
|
|
1493
|
+
@property --lk-notch-y { syntax: '<number>'; inherits: true; initial-value: 0; }
|
|
1494
|
+
`}));Zt(),zt(),ue();function Hp(e){let t=e,n=null,r=null,i=()=>{n?.remove(),n=null,r=null};return{open({from:e}={}){if(n)return;Ht();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([a(t),Promise.resolve().then(()=>(Vp(),Ip))]);await Xt(e.locale??Kt.value).catch(()=>void 0),n===c&&(r=o(c,e,s),r.addEventListener(`closed`,i))})().catch(e=>{n===c&&i(),console.error(e)})},close(){r?r.close():i()},update(e){t={...t,...e};let n=r;n&&a(t).then(e=>n===r&&(n.config=e))},destroy(){i()}}}return e.createFeelingLucky=Hp,e.en=le,e})({});
|