valtech-components 4.0.403 → 4.0.405

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.
@@ -58,7 +58,7 @@ import fixWebmDuration from 'fix-webm-duration';
58
58
  * Current version of valtech-components.
59
59
  * This is automatically updated during the publish process.
60
60
  */
61
- const VERSION = '4.0.403';
61
+ const VERSION = '4.0.405';
62
62
 
63
63
  // Control de estado de refresco (singleton a nivel de módulo)
64
64
  let isRefreshing = false;
@@ -60976,7 +60976,7 @@ function createChessimalsGame(boardSize = 6, options = {}) {
60976
60976
  captured: false,
60977
60977
  });
60978
60978
  }
60979
- return refreshChessimalsPowerUnlocks({
60979
+ const state = refreshChessimalsPowerUnlocks({
60980
60980
  id: options.id ?? createLocalId(),
60981
60981
  mode: options.mode ?? 'local',
60982
60982
  boardSize,
@@ -60990,6 +60990,10 @@ function createChessimalsGame(boardSize = 6, options = {}) {
60990
60990
  moveCount: 0,
60991
60991
  online: options.online,
60992
60992
  });
60993
+ return {
60994
+ ...state,
60995
+ moveHistory: [createMoveHistoryEntry(state)],
60996
+ };
60993
60997
  }
60994
60998
  function getChessimalsPieceAt(state, position) {
60995
60999
  return activePieces(state).find((piece) => !piece.captured && piece.position.row === position.row && piece.position.col === position.col);
@@ -61096,23 +61100,91 @@ function applyChessimalsMove(state, candidate) {
61096
61100
  });
61097
61101
  const promoted = isPromotionRow(nextState.boardSize, movedPiece.color, legalMove.to);
61098
61102
  const enemyPieces = activePieces(nextState).filter((piece) => piece.color !== movedPiece.color && !piece.captured);
61099
- if (promoted || enemyPieces.length === 0) {
61100
- return {
61103
+ const resolvedState = promoted || enemyPieces.length === 0
61104
+ ? {
61101
61105
  ...nextState,
61102
61106
  status: 'finished',
61103
61107
  winner: movedPiece.color,
61104
61108
  winnerReason: promoted ? 'promotion' : 'elimination',
61105
- };
61106
- }
61107
- return nextState;
61109
+ }
61110
+ : nextState;
61111
+ return {
61112
+ ...resolvedState,
61113
+ moveHistory: [
61114
+ ...ensureMoveHistory(state),
61115
+ createMoveHistoryEntry(resolvedState, legalMove),
61116
+ ],
61117
+ };
61108
61118
  }
61109
- function resignChessimalsGame(state, color) {
61119
+ function createChessimalsReviewState(state, entry) {
61120
+ const baseState = { ...state };
61121
+ delete baseState.lastMove;
61122
+ delete baseState.winner;
61123
+ delete baseState.winnerReason;
61124
+ return {
61125
+ ...baseState,
61126
+ status: entry.status,
61127
+ currentTurn: entry.currentTurn,
61128
+ pieces: clonePieces(entry.pieces),
61129
+ moveCount: entry.moveNumber,
61130
+ ...(entry.winner ? { winner: entry.winner } : {}),
61131
+ ...(entry.winnerReason ? { winnerReason: entry.winnerReason } : {}),
61132
+ ...(entry.move ? { lastMove: sanitizeMove(entry.move) } : {}),
61133
+ };
61134
+ }
61135
+ function createMoveHistoryEntry(state, move) {
61136
+ return {
61137
+ moveNumber: state.moveCount,
61138
+ pieces: clonePieces(state.pieces),
61139
+ currentTurn: state.currentTurn,
61140
+ status: state.status,
61141
+ ...(move ? { move: sanitizeMove(move) } : {}),
61142
+ ...(state.winner ? { winner: state.winner } : {}),
61143
+ ...(state.winnerReason ? { winnerReason: state.winnerReason } : {}),
61144
+ };
61145
+ }
61146
+ function ensureMoveHistory(state) {
61147
+ if (state.moveHistory?.length)
61148
+ return state.moveHistory.map(cloneMoveHistoryEntry);
61149
+ return [createMoveHistoryEntry(state)];
61150
+ }
61151
+ function cloneMoveHistoryEntry(entry) {
61152
+ return {
61153
+ ...entry,
61154
+ pieces: clonePieces(entry.pieces),
61155
+ ...(entry.move ? { move: sanitizeMove(entry.move) } : {}),
61156
+ };
61157
+ }
61158
+ function clonePieces(pieces) {
61159
+ return pieces.map((piece) => ({
61160
+ ...piece,
61161
+ position: { ...piece.position },
61162
+ }));
61163
+ }
61164
+ function sanitizeMove(move) {
61110
61165
  return {
61166
+ pieceId: move.pieceId,
61167
+ from: { ...move.from },
61168
+ to: { ...move.to },
61169
+ kind: move.kind,
61170
+ ...(move.animal ? { animal: move.animal } : {}),
61171
+ ...(move.capturesPieceId ? { capturesPieceId: move.capturesPieceId } : {}),
61172
+ };
61173
+ }
61174
+ function resignChessimalsGame(state, color) {
61175
+ const resignedState = {
61111
61176
  ...state,
61112
61177
  status: 'finished',
61113
61178
  winner: otherColor(color),
61114
61179
  winnerReason: 'resignation',
61115
61180
  };
61181
+ return {
61182
+ ...resignedState,
61183
+ moveHistory: [
61184
+ ...ensureMoveHistory(state),
61185
+ createMoveHistoryEntry(resignedState),
61186
+ ],
61187
+ };
61116
61188
  }
61117
61189
  function positionKey(position) {
61118
61190
  return `${position.row}:${position.col}`;
@@ -61680,7 +61752,7 @@ class ChessimalsOnlineService {
61680
61752
  pendingGuest: guest,
61681
61753
  },
61682
61754
  };
61683
- transaction.set(ref, next);
61755
+ transaction.set(ref, this.withoutUndefined(next));
61684
61756
  });
61685
61757
  }
61686
61758
  async acceptGuest(gameId) {
@@ -61716,7 +61788,7 @@ class ChessimalsOnlineService {
61716
61788
  rematchRequests: [],
61717
61789
  },
61718
61790
  };
61719
- transaction.set(ref, next);
61791
+ transaction.set(ref, this.withoutUndefined(next));
61720
61792
  });
61721
61793
  }
61722
61794
  async rejectGuest(gameId) {
@@ -61734,7 +61806,7 @@ class ChessimalsOnlineService {
61734
61806
  const now = new Date();
61735
61807
  const online = { ...state.online, updatedAt: now.toISOString() };
61736
61808
  delete online.pendingGuest;
61737
- transaction.set(ref, { ...state, online });
61809
+ transaction.set(ref, this.withoutUndefined({ ...state, online }));
61738
61810
  });
61739
61811
  }
61740
61812
  async move(gameId, move) {
@@ -61839,10 +61911,10 @@ class ChessimalsOnlineService {
61839
61911
  const bothReady = [participants.white, participants.black].every((item) => this.participantRequestKeys(item).some((key) => requests.includes(key)));
61840
61912
  const now = new Date();
61841
61913
  if (!bothReady) {
61842
- transaction.set(ref, {
61914
+ transaction.set(ref, this.withoutUndefined({
61843
61915
  ...state,
61844
61916
  online: { ...state.online, updatedAt: now.toISOString(), rematchRequests: requests },
61845
- });
61917
+ }));
61846
61918
  return;
61847
61919
  }
61848
61920
  const [white, black] = Math.random() > 0.5
@@ -61863,7 +61935,7 @@ class ChessimalsOnlineService {
61863
61935
  rematchRequests: [],
61864
61936
  },
61865
61937
  });
61866
- transaction.set(ref, next);
61938
+ transaction.set(ref, this.withoutUndefined(next));
61867
61939
  });
61868
61940
  }
61869
61941
  participantSide(state, uid = this.currentUid) {
@@ -62409,6 +62481,11 @@ const MINI_GAMES_I18N = {
62409
62481
  chessimalsFinishedChip: 'Partida terminada',
62410
62482
  chessimalsGameOver: 'Fin de la partida',
62411
62483
  chessimalsMovesSummary: '{moves} jugadas',
62484
+ chessimalsReplayTitle: 'Revisar jugadas',
62485
+ chessimalsReplayStart: 'Posición inicial',
62486
+ chessimalsReplayMove: 'Jugada {move} de {total}',
62487
+ chessimalsReplayPrevious: 'Anterior',
62488
+ chessimalsReplayNext: 'Siguiente',
62412
62489
  chessimalsWinTitle: 'Ganan {player}',
62413
62490
  chessimalsWinPromotion: 'Un peón llegó a la última fila con un paso normal.',
62414
62491
  chessimalsWinElimination: 'No quedan peones rivales en el tablero.',
@@ -62642,6 +62719,11 @@ const MINI_GAMES_I18N = {
62642
62719
  chessimalsFinishedChip: 'Game finished',
62643
62720
  chessimalsGameOver: 'Game over',
62644
62721
  chessimalsMovesSummary: '{moves} moves',
62722
+ chessimalsReplayTitle: 'Review moves',
62723
+ chessimalsReplayStart: 'Starting position',
62724
+ chessimalsReplayMove: 'Move {move} of {total}',
62725
+ chessimalsReplayPrevious: 'Previous',
62726
+ chessimalsReplayNext: 'Next',
62645
62727
  chessimalsWinTitle: '{player} win',
62646
62728
  chessimalsWinPromotion: 'A pawn reached the final row with a normal step.',
62647
62729
  chessimalsWinElimination: 'No rival pawns remain on the board.',
@@ -62796,12 +62878,14 @@ class RetroAudioService {
62796
62878
  [392, 0.045],
62797
62879
  [493.88, 0.055],
62798
62880
  ], 'triangle', 0.032, 48);
62881
+ window.setTimeout(() => void this.filteredNoise(0.035, 0.012, 'bandpass', 820), 8);
62799
62882
  }
62800
62883
  chessimalsBotMove() {
62801
62884
  void this.sequence([
62802
62885
  [329.63, 0.055],
62803
62886
  [246.94, 0.07],
62804
62887
  ], 'sawtooth', 0.024, 56);
62888
+ window.setTimeout(() => void this.filteredNoise(0.05, 0.01, 'lowpass', 420), 16);
62805
62889
  }
62806
62890
  chessimalsCapture() {
62807
62891
  void this.sequence([
@@ -62811,6 +62895,8 @@ class RetroAudioService {
62811
62895
  [783.99, 0.08],
62812
62896
  ], 'square', 0.046, 44);
62813
62897
  window.setTimeout(() => void this.sweep(96, 42, 0.18, 'sawtooth', 0.026), 20);
62898
+ window.setTimeout(() => void this.filteredNoise(0.18, 0.05, 'lowpass', 520), 18);
62899
+ window.setTimeout(() => void this.filteredNoise(0.07, 0.028, 'bandpass', 1800), 84);
62814
62900
  }
62815
62901
  chessimalsPower(power) {
62816
62902
  const notes = {
@@ -62839,22 +62925,29 @@ class RetroAudioService {
62839
62925
  void this.sequence(notes[power], power === 'bull' ? 'sawtooth' : 'triangle', 0.046, 58);
62840
62926
  if (power === 'eagle') {
62841
62927
  void this.sweep(720, 1568, 0.18, 'triangle', 0.028);
62928
+ void this.filteredNoise(0.22, 0.025, 'highpass', 1600);
62929
+ window.setTimeout(() => void this.filteredNoise(0.08, 0.018, 'bandpass', 2600), 92);
62842
62930
  window.setTimeout(() => void this.tone(1760, 0.055, 'sine', 0.018), 150);
62843
62931
  return;
62844
62932
  }
62845
62933
  if (power === 'bull') {
62846
62934
  window.setTimeout(() => void this.tone(82.41, 0.16, 'sawtooth', 0.038), 72);
62847
62935
  window.setTimeout(() => void this.sweep(138.59, 65.41, 0.18, 'sawtooth', 0.026), 118);
62936
+ window.setTimeout(() => void this.filteredNoise(0.16, 0.038, 'lowpass', 260), 36);
62937
+ window.setTimeout(() => void this.filteredNoise(0.055, 0.026, 'bandpass', 960), 170);
62848
62938
  return;
62849
62939
  }
62850
62940
  if (power === 'kangaroo') {
62851
62941
  window.setTimeout(() => void this.sweep(420, 940, 0.11, 'sine', 0.032), 88);
62852
62942
  window.setTimeout(() => void this.sweep(940, 520, 0.1, 'sine', 0.026), 190);
62853
62943
  window.setTimeout(() => void this.tone(261.63, 0.055, 'triangle', 0.018), 245);
62944
+ window.setTimeout(() => void this.filteredNoise(0.035, 0.018, 'bandpass', 1180), 218);
62854
62945
  return;
62855
62946
  }
62856
62947
  window.setTimeout(() => void this.sweep(164.81, 392, 0.24, 'sawtooth', 0.034), 70);
62857
62948
  window.setTimeout(() => void this.tone(98, 0.18, 'sawtooth', 0.02), 150);
62949
+ window.setTimeout(() => void this.filteredNoise(0.28, 0.032, 'bandpass', 340), 62);
62950
+ window.setTimeout(() => void this.sweep(196, 146.83, 0.22, 'sawtooth', 0.022), 116);
62858
62951
  }
62859
62952
  chessimalsVictory() {
62860
62953
  this.stopMusic();
@@ -62869,6 +62962,8 @@ class RetroAudioService {
62869
62962
  ], 'triangle', 0.05, 72);
62870
62963
  window.setTimeout(() => void this.sweep(130.81, 65.41, 0.28, 'sawtooth', 0.02), 40);
62871
62964
  window.setTimeout(() => void this.sweep(523.25, 1567.98, 0.34, 'sine', 0.026), 240);
62965
+ window.setTimeout(() => void this.filteredNoise(0.16, 0.022, 'bandpass', 1400), 120);
62966
+ window.setTimeout(() => void this.sequence([[987.77, 0.08], [1318.51, 0.12]], 'triangle', 0.032, 86), 520);
62872
62967
  }
62873
62968
  chessimalsJoinRequest() {
62874
62969
  void this.sequence([
@@ -62877,6 +62972,7 @@ class RetroAudioService {
62877
62972
  [987.77, 0.12],
62878
62973
  ], 'triangle', 0.034, 58);
62879
62974
  window.setTimeout(() => void this.tone(1318.51, 0.075, 'sine', 0.02), 136);
62975
+ window.setTimeout(() => void this.filteredNoise(0.06, 0.01, 'highpass', 1800), 98);
62880
62976
  }
62881
62977
  chessimalsPowerUnlocked() {
62882
62978
  void this.sequence([
@@ -62886,6 +62982,7 @@ class RetroAudioService {
62886
62982
  [987.77, 0.13],
62887
62983
  ], 'triangle', 0.038, 64);
62888
62984
  window.setTimeout(() => void this.sweep(220, 880, 0.22, 'sine', 0.024), 70);
62985
+ window.setTimeout(() => void this.filteredNoise(0.24, 0.018, 'bandpass', 1200), 54);
62889
62986
  }
62890
62987
  readEnabled() {
62891
62988
  try {
@@ -62990,6 +63087,35 @@ class RetroAudioService {
62990
63087
  oscillator.start();
62991
63088
  oscillator.stop(ctx.currentTime + duration + 0.02);
62992
63089
  }
63090
+ // Chessimals uses generated WebAudio layers instead of third-party samples,
63091
+ // avoiding licensing risk while keeping each animal power expressive.
63092
+ async filteredNoise(duration = 0.12, gainValue = 0.025, filterType = 'bandpass', frequency = 900) {
63093
+ if (!this.enabled())
63094
+ return;
63095
+ const ctx = await this.wakeAudio();
63096
+ const sampleCount = Math.max(1, Math.floor(ctx.sampleRate * duration));
63097
+ const buffer = ctx.createBuffer(1, sampleCount, ctx.sampleRate);
63098
+ const channel = buffer.getChannelData(0);
63099
+ for (let i = 0; i < sampleCount; i += 1) {
63100
+ const decay = 1 - i / sampleCount;
63101
+ channel[i] = (Math.random() * 2 - 1) * decay;
63102
+ }
63103
+ const source = ctx.createBufferSource();
63104
+ const filter = ctx.createBiquadFilter();
63105
+ const gain = ctx.createGain();
63106
+ filter.type = filterType;
63107
+ filter.frequency.value = frequency;
63108
+ filter.Q.value = filterType === 'lowpass' ? 0.7 : 1.8;
63109
+ gain.gain.setValueAtTime(0.0001, ctx.currentTime);
63110
+ gain.gain.exponentialRampToValueAtTime(gainValue, ctx.currentTime + 0.012);
63111
+ gain.gain.exponentialRampToValueAtTime(0.0001, ctx.currentTime + duration);
63112
+ source.buffer = buffer;
63113
+ source.connect(filter);
63114
+ filter.connect(gain);
63115
+ gain.connect(this.masterGain ?? ctx.destination);
63116
+ source.start();
63117
+ source.stop(ctx.currentTime + duration + 0.02);
63118
+ }
62993
63119
  pauseForBackground() {
62994
63120
  if (this.activeMelody)
62995
63121
  this.pausedMelody = this.activeMelody;
@@ -63244,6 +63370,7 @@ class ChessimalsGameComponent {
63244
63370
  this.resumeSplashVisible = signal(false);
63245
63371
  this.rematchLoading = signal(false);
63246
63372
  this.moveSyncing = signal(false);
63373
+ this.reviewIndex = signal(undefined);
63247
63374
  this.loggedInUser = this.auth.user;
63248
63375
  this.localPlayerProfile = computed(() => this.playerProfiles.activeProfile());
63249
63376
  this.localPlayerAvatar = computed(() => this.localPlayerProfile()?.avatar ?? '🌟');
@@ -63272,6 +63399,20 @@ class ChessimalsGameComponent {
63272
63399
  }));
63273
63400
  this.miniGamesRoute = '/mini-games';
63274
63401
  this.projectionMode = false;
63402
+ this.replayEntries = computed(() => this.game().moveHistory ?? []);
63403
+ this.activeReviewIndex = computed(() => {
63404
+ const entries = this.replayEntries();
63405
+ if (this.game().status !== 'finished' || entries.length <= 1)
63406
+ return undefined;
63407
+ const index = this.reviewIndex() ?? entries.length - 1;
63408
+ return Math.min(Math.max(index, 0), entries.length - 1);
63409
+ });
63410
+ this.hasReplayControls = computed(() => this.activeReviewIndex() !== undefined);
63411
+ this.reviewGame = computed(() => {
63412
+ const index = this.activeReviewIndex();
63413
+ const entry = index === undefined ? undefined : this.replayEntries()[index];
63414
+ return entry ? createChessimalsReviewState(this.game(), entry) : this.game();
63415
+ });
63275
63416
  this.currentPlayer = computed(() => this.game().players[this.game().currentTurn]);
63276
63417
  this.legalMoves = computed(() => {
63277
63418
  const pieceId = this.selectedPieceId();
@@ -63283,8 +63424,8 @@ class ChessimalsGameComponent {
63283
63424
  });
63284
63425
  this.legalMoveKeys = computed(() => new Set(this.legalMoves().map((move) => positionKey(move.to))));
63285
63426
  this.captureMoveKeys = computed(() => new Set(this.legalMoves().filter((move) => !!move.capturesPieceId).map((move) => positionKey(move.to))));
63286
- this.boardRows = computed(() => Array.from({ length: this.game().boardSize }, (_, index) => index));
63287
- this.boardCols = computed(() => Array.from({ length: this.game().boardSize }, (_, index) => index));
63427
+ this.boardRows = computed(() => Array.from({ length: this.reviewGame().boardSize }, (_, index) => index));
63428
+ this.boardCols = computed(() => Array.from({ length: this.reviewGame().boardSize }, (_, index) => index));
63288
63429
  this.displayRows = computed(() => this.boardOrientationColor() === 'black' ? [...this.boardRows()].reverse() : this.boardRows());
63289
63430
  this.displayCols = computed(() => this.boardOrientationColor() === 'black' ? [...this.boardCols()].reverse() : this.boardCols());
63290
63431
  this.boardOrientationColor = computed(() => {
@@ -63483,6 +63624,7 @@ class ChessimalsGameComponent {
63483
63624
  this.openingOnlineGameId = undefined;
63484
63625
  this.clearBotTurn();
63485
63626
  this.game.set(createChessimalsGame(this.selectedBoardSize()));
63627
+ this.clearReview();
63486
63628
  this.selectedPieceId.set(undefined);
63487
63629
  this.selectedAnimal.set(undefined);
63488
63630
  this.movingPiece.set(undefined);
@@ -63504,6 +63646,7 @@ class ChessimalsGameComponent {
63504
63646
  this.openedOnlineGameId = game.id;
63505
63647
  this.watchOnlineGame(game.id);
63506
63648
  this.game.set(game);
63649
+ this.clearReview();
63507
63650
  this.screen.set('game');
63508
63651
  this.audio.flip();
63509
63652
  void this.haptics.success();
@@ -63587,6 +63730,7 @@ class ChessimalsGameComponent {
63587
63730
  }
63588
63731
  this.clearBotTurn();
63589
63732
  this.game.set(createChessimalsGame(this.game().boardSize));
63733
+ this.clearReview();
63590
63734
  this.selectedPieceId.set(undefined);
63591
63735
  this.selectedAnimal.set(undefined);
63592
63736
  this.movingPiece.set(undefined);
@@ -63606,6 +63750,7 @@ class ChessimalsGameComponent {
63606
63750
  this.selectedPieceId.set(undefined);
63607
63751
  this.selectedAnimal.set(undefined);
63608
63752
  this.movingPiece.set(undefined);
63753
+ this.clearReview();
63609
63754
  }
63610
63755
  resetToGamesMenu() {
63611
63756
  this.confirmAction.set(undefined);
@@ -63626,6 +63771,7 @@ class ChessimalsGameComponent {
63626
63771
  this.selectedPieceId.set(undefined);
63627
63772
  this.selectedAnimal.set(undefined);
63628
63773
  this.movingPiece.set(undefined);
63774
+ this.clearReview();
63629
63775
  this.confirmAction.set(undefined);
63630
63776
  this.game.set(createChessimalsGame(game.boardSize));
63631
63777
  if (returnHome)
@@ -63694,6 +63840,7 @@ class ChessimalsGameComponent {
63694
63840
  }
63695
63841
  this.clearBotTurn();
63696
63842
  this.game.set(resignChessimalsGame(game, game.currentTurn));
63843
+ this.showLatestReviewSnapshot();
63697
63844
  this.selectedPieceId.set(undefined);
63698
63845
  this.selectedAnimal.set(undefined);
63699
63846
  this.movingPiece.set(undefined);
@@ -63777,6 +63924,7 @@ class ChessimalsGameComponent {
63777
63924
  this.triggerBoardOrientation();
63778
63925
  }
63779
63926
  if (updated.status === 'finished') {
63927
+ this.showLatestReviewSnapshot();
63780
63928
  this.audio.chessimalsVictory();
63781
63929
  }
63782
63930
  this.queueBotTurnIfNeeded();
@@ -63830,6 +63978,7 @@ class ChessimalsGameComponent {
63830
63978
  const move = chooseChessimalsBotMove(game, this.selectedBotDifficulty());
63831
63979
  if (!move) {
63832
63980
  this.game.set(resignChessimalsGame(game, CHESSIMALS_BOT_COLOR));
63981
+ this.showLatestReviewSnapshot();
63833
63982
  this.botThinking.set(false);
63834
63983
  this.audio.chessimalsVictory();
63835
63984
  return;
@@ -63894,6 +64043,13 @@ class ChessimalsGameComponent {
63894
64043
  }
63895
64044
  this.audio.chessimalsMove();
63896
64045
  }
64046
+ clearReview() {
64047
+ this.reviewIndex.set(undefined);
64048
+ }
64049
+ showLatestReviewSnapshot() {
64050
+ const entries = this.game().moveHistory ?? [];
64051
+ this.reviewIndex.set(entries.length > 1 ? entries.length - 1 : undefined);
64052
+ }
63897
64053
  queueMoveEffect(move) {
63898
64054
  if (this.moveEffectStartTimer)
63899
64055
  clearTimeout(this.moveEffectStartTimer);
@@ -63927,7 +64083,7 @@ class ChessimalsGameComponent {
63927
64083
  this.audio.simonPad(animal.tone);
63928
64084
  }
63929
64085
  pieceAt(row, col) {
63930
- return getChessimalsPieceAt(this.game(), { row, col });
64086
+ return getChessimalsPieceAt(this.reviewGame(), { row, col });
63931
64087
  }
63932
64088
  isDarkCell(row, col) {
63933
64089
  return (row + col) % 2 === 1;
@@ -63943,7 +64099,7 @@ class ChessimalsGameComponent {
63943
64099
  return this.captureMoveKeys().has(positionKey({ row, col }));
63944
64100
  }
63945
64101
  isLastMoveCell(row, col) {
63946
- const lastMove = this.game().lastMove;
64102
+ const lastMove = this.reviewGame().lastMove;
63947
64103
  return !this.selectedPieceId() && !!lastMove && positionKey(lastMove.to) === positionKey({ row, col });
63948
64104
  }
63949
64105
  isMovingSourceCell(row, col) {
@@ -63972,7 +64128,7 @@ class ChessimalsGameComponent {
63972
64128
  return String.fromCharCode(65 + col);
63973
64129
  }
63974
64130
  rankLabel(row) {
63975
- return `${this.game().boardSize - row}`;
64131
+ return `${this.reviewGame().boardSize - row}`;
63976
64132
  }
63977
64133
  showRankLabel(col) {
63978
64134
  return col === this.displayCols()[0];
@@ -64226,11 +64382,47 @@ class ChessimalsGameComponent {
64226
64382
  animalLabel(type) {
64227
64383
  return this.t(`chessimalsAnimal${this.capitalize(type)}`);
64228
64384
  }
64385
+ canReviewPrevious() {
64386
+ return (this.activeReviewIndex() ?? 0) > 0;
64387
+ }
64388
+ canReviewNext() {
64389
+ const index = this.activeReviewIndex();
64390
+ return index !== undefined && index < this.replayEntries().length - 1;
64391
+ }
64392
+ reviewPreviousMove() {
64393
+ const index = this.activeReviewIndex();
64394
+ if (index === undefined || index <= 0)
64395
+ return;
64396
+ this.reviewIndex.set(index - 1);
64397
+ this.selectedPieceId.set(undefined);
64398
+ this.selectedAnimal.set(undefined);
64399
+ this.audio.flip();
64400
+ }
64401
+ reviewNextMove() {
64402
+ const index = this.activeReviewIndex();
64403
+ if (index === undefined || index >= this.replayEntries().length - 1)
64404
+ return;
64405
+ this.reviewIndex.set(index + 1);
64406
+ this.selectedPieceId.set(undefined);
64407
+ this.selectedAnimal.set(undefined);
64408
+ this.audio.flip();
64409
+ }
64410
+ replayPositionLabel() {
64411
+ const index = this.activeReviewIndex();
64412
+ if (index === undefined)
64413
+ return '';
64414
+ const entry = this.replayEntries()[index];
64415
+ if (!entry || entry.moveNumber === 0)
64416
+ return this.t('chessimalsReplayStart');
64417
+ return this.t('chessimalsReplayMove')
64418
+ .replace('{move}', `${entry.moveNumber}`)
64419
+ .replace('{total}', `${this.game().moveCount}`);
64420
+ }
64229
64421
  displayRowIndex(row) {
64230
- return this.boardOrientationColor() === 'black' ? this.game().boardSize - 1 - row : row;
64422
+ return this.boardOrientationColor() === 'black' ? this.reviewGame().boardSize - 1 - row : row;
64231
64423
  }
64232
64424
  displayColIndex(col) {
64233
- return this.boardOrientationColor() === 'black' ? this.game().boardSize - 1 - col : col;
64425
+ return this.boardOrientationColor() === 'black' ? this.reviewGame().boardSize - 1 - col : col;
64234
64426
  }
64235
64427
  watchOnlineGame(gameId) {
64236
64428
  this.onlineSubscription?.unsubscribe();
@@ -64242,6 +64434,14 @@ class ChessimalsGameComponent {
64242
64434
  }
64243
64435
  const previous = this.game();
64244
64436
  this.game.set(state);
64437
+ if (state.status === 'finished') {
64438
+ if (previous.id !== state.id || previous.status !== 'finished' || this.reviewIndex() === undefined) {
64439
+ this.showLatestReviewSnapshot();
64440
+ }
64441
+ }
64442
+ else {
64443
+ this.clearReview();
64444
+ }
64245
64445
  this.selectedBoardSize.set(state.boardSize);
64246
64446
  this.resumeSplashVisible.set(false);
64247
64447
  const previousPendingKey = previous.id === state.id ? this.online.participantKey(previous.online?.pendingGuest) : '';
@@ -64561,13 +64761,13 @@ class ChessimalsGameComponent {
64561
64761
  [class.is-finished]="game().status === 'finished'"
64562
64762
  [class.is-orienting]="isBoardOrienting()"
64563
64763
  [class.is-syncing]="moveSyncing()"
64564
- [style.--board-size]="game().boardSize"
64764
+ [style.--board-size]="reviewGame().boardSize"
64565
64765
  >
64566
64766
  <div class="chessimals-board-frame">
64567
64767
  <div
64568
64768
  class="chessimals-board"
64569
64769
  role="grid"
64570
- [class.is-black-view]="game().currentTurn === 'black'"
64770
+ [class.is-black-view]="reviewGame().currentTurn === 'black'"
64571
64771
  [attr.aria-label]="t('chessimalsBoard')"
64572
64772
  >
64573
64773
  @for (row of displayRows(); track row) {
@@ -64656,7 +64856,7 @@ class ChessimalsGameComponent {
64656
64856
  </span>
64657
64857
  </span>
64658
64858
  }
64659
- @if (game().status === 'finished') {
64859
+ @if (game().status === 'finished' && !hasReplayControls()) {
64660
64860
  <div class="chessimals-board-overlay" aria-hidden="true">
64661
64861
  <span>{{ t('chessimalsGameOver') }}</span>
64662
64862
  <strong>{{ winTitle() }}</strong>
@@ -64701,6 +64901,33 @@ class ChessimalsGameComponent {
64701
64901
  }
64702
64902
  </section>
64703
64903
 
64904
+ @if (hasReplayControls()) {
64905
+ <article class="chessimals-replay" aria-live="polite">
64906
+ <div>
64907
+ <strong>{{ t('chessimalsReplayTitle') }}</strong>
64908
+ <span>{{ replayPositionLabel() }}</span>
64909
+ </div>
64910
+ <div class="chessimals-replay__actions">
64911
+ <button
64912
+ class="chessimals-secondary"
64913
+ type="button"
64914
+ [disabled]="!canReviewPrevious()"
64915
+ (click)="reviewPreviousMove()"
64916
+ >
64917
+ {{ t('chessimalsReplayPrevious') }}
64918
+ </button>
64919
+ <button
64920
+ class="chessimals-secondary"
64921
+ type="button"
64922
+ [disabled]="!canReviewNext()"
64923
+ (click)="reviewNextMove()"
64924
+ >
64925
+ {{ t('chessimalsReplayNext') }}
64926
+ </button>
64927
+ </div>
64928
+ </article>
64929
+ }
64930
+
64704
64931
  @if (game().status === 'finished') {
64705
64932
  <article class="chessimals-result">
64706
64933
  <strong>{{ winTitle() }}</strong>
@@ -64862,7 +65089,7 @@ class ChessimalsGameComponent {
64862
65089
  />
64863
65090
  </ng-template>
64864
65091
  </ion-modal>
64865
- `, isInline: true, styles: [":host{display:block}.chessimals-shell{--chessimals-panel: #ffffff;--chessimals-surface: #fffaf1;--chessimals-border: rgba(46, 58, 44, .18);--chessimals-text: #2e3a2c;--chessimals-muted: #51643d;--chessimals-soft: rgba(111, 122, 60, .1);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-selected: #37f28a;--chessimals-selected-rgb: 55, 242, 138;--chessimals-move: var(--chessimals-sky);--chessimals-move-rgb: var(--chessimals-sky-rgb);--chessimals-capture: #1fcdb3;--chessimals-capture-rgb: 31, 205, 179;--chessimals-last: #8c6b4f;--chessimals-last-rgb: 140, 107, 79;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(46, 58, 44, .14);--chessimals-piece-white-fill: #ffffff;--chessimals-piece-white-side: #f3eadb;--chessimals-piece-white-line: rgba(82, 65, 46, .12);--chessimals-piece-white-shadow: drop-shadow(0 0 1px rgba(84, 62, 34, .26)) drop-shadow(0 2px 3px rgba(84, 62, 34, .14));--chessimals-piece-black-fill: #242936;--chessimals-piece-black-side: #171b25;--chessimals-piece-black-line: rgba(255, 255, 255, .1);--chessimals-piece-black-shadow: drop-shadow(0 0 1px rgba(255, 255, 255, .14)) drop-shadow(0 2px 3px rgba(0, 0, 0, .24));--chessimals-piece-gold: #c79a42;--chessimals-piece-gold-dark: #8a5f22;--chessimals-animal-face-bg: #fffdf7;--chessimals-animal-face-inner-bg: #ffffff;--chessimals-animal-face-border: rgba(46, 58, 44, .12);--chessimals-animal-face-filter: drop-shadow(0 .12rem .16rem rgba(46, 58, 44, .18));--chessimals-animal-face-locked-filter: grayscale(.2) saturate(.72);--chessimals-animal-face-locked-img-opacity: .72;display:grid;gap:1.125rem;width:100%;max-width:min(100%,60rem);margin:0 auto;color:var(--chessimals-text)}@media (prefers-color-scheme: dark){.chessimals-shell{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(242, 230, 213, .2);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1;--chessimals-soft: rgba(111, 122, 60, .22);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(0, 0, 0, .34);--chessimals-animal-face-border: rgba(242, 230, 213, .24)}}.chessimals-resume-splash{order:0;position:fixed;inset:0;z-index:1000;display:grid;place-items:center;align-content:center;gap:.65rem;padding:1.5rem;text-align:center;color:var(--chessimals-text);background:radial-gradient(circle at 50% 42%,rgba(var(--chessimals-primary-rgb),.18),transparent 22rem),color-mix(in srgb,var(--chessimals-panel) 92%,transparent);backdrop-filter:blur(.9rem)}.chessimals-resume-splash__paw{display:grid;place-items:center;width:clamp(4.6rem,16vw,5.6rem);height:clamp(4.6rem,16vw,5.6rem);border-radius:1.55rem;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.96),transparent 34%),linear-gradient(145deg,#fffffff5,rgba(var(--chessimals-secondary-rgb),.22)),color-mix(in srgb,var(--chessimals-panel) 82%,white);border:.12rem solid rgba(var(--chessimals-primary-rgb),.22);box-shadow:0 1.15rem 2.6rem rgba(var(--ion-color-dark-rgb, 47, 42, 58),.16),0 0 0 .42rem #ffffff6b,inset 0 -.25rem .6rem rgba(var(--chessimals-primary-rgb),.08);animation:chessimals-resume-pulse 1.2s ease-in-out infinite;font-size:clamp(2.45rem,9vw,3.35rem);line-height:1;filter:drop-shadow(0 .28rem .38rem rgba(var(--ion-color-dark-rgb, 47, 42, 58),.18))}.chessimals-resume-splash strong{font-size:clamp(1.55rem,5vw,2.4rem);font-weight:950;line-height:1.05}.chessimals-resume-splash p{max-width:24rem;margin:0;color:var(--chessimals-muted);font-size:1rem;line-height:1.35}@keyframes chessimals-resume-pulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-.25rem) scale(1.04)}}@keyframes chessimals-spin{to{transform:rotate(360deg)}}:host-context(html.ion-palette-dark) .chessimals-shell,:host-context([data-theme=\"dark\"]) .chessimals-shell{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(246, 227, 213, .22);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1;--chessimals-soft: rgba(111, 122, 60, .22);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(0, 0, 0, .34);--chessimals-capture: #66f2d7;--chessimals-capture-rgb: 102, 242, 215;--chessimals-last: #cdbe9b;--chessimals-last-rgb: 205, 190, 155;--chessimals-piece-white-fill: #fffaff;--chessimals-piece-white-side: #f0e5d4;--chessimals-piece-white-line: rgba(82, 65, 46, .12);--chessimals-piece-white-shadow: drop-shadow(0 0 1px rgba(84, 62, 34, .24)) drop-shadow(0 2px 3px rgba(0, 0, 0, .2));--chessimals-piece-black-fill: #202633;--chessimals-piece-black-side: #111620;--chessimals-piece-black-line: rgba(255, 255, 255, .12);--chessimals-piece-black-shadow: drop-shadow(0 0 1px rgba(255, 255, 255, .34)) drop-shadow(0 3px 4px rgba(0, 0, 0, .44));--chessimals-animal-face-bg: #fffdf7;--chessimals-animal-face-inner-bg: #ffffff;--chessimals-animal-face-border: rgba(242, 230, 213, .24);--chessimals-animal-face-filter: drop-shadow(0 .12rem .16rem rgba(0, 0, 0, .22));--chessimals-animal-face-locked-filter: grayscale(.32) saturate(.72);--chessimals-animal-face-locked-img-opacity: .58}.chessimals-hero{display:grid;gap:.75rem;justify-items:center;overflow:hidden;border-radius:1.75rem;padding:clamp(1.25rem,5vw,2.5rem);background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.92),transparent 20%),linear-gradient(135deg,#fdf8ee,#fff 40%,#edf3df);color:var(--chessimals-text);text-align:center;border:1px solid var(--chessimals-border)}.chessimals-hero__logo{display:grid;place-items:center;width:min(22rem,82vw);max-width:100%;padding:.5rem;border-radius:1.35rem;background:#fff;box-shadow:0 1rem 2.5rem #2e3a2c1a,inset 0 0 0 1px #2e3a2c14}.chessimals-hero__logo img{display:block;width:100%;height:auto;max-height:12rem;object-fit:contain;border-radius:1rem}.chessimals-hero h1{margin:0;font-size:clamp(2.4rem,9vw,4.5rem);line-height:.95;font-weight:950}.chessimals-hero p,.chessimals-howto p,.chessimals-tip p,.chessimals-result p,.chessimals-powers p{margin:0;line-height:1.45}.chessimals-panel,.chessimals-game,.chessimals-powers{display:grid;gap:1rem;border:1px solid var(--chessimals-border);border-radius:1.625rem;padding:clamp(1rem,4vw,1.5rem);background:var(--chessimals-panel)}.chessimals-online{display:grid;gap:.875rem;border:1px solid var(--chessimals-border);border-radius:1.375rem;padding:1rem;background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.08),transparent),var(--chessimals-panel)}.chessimals-online--waiting{order:2;border-color:rgba(var(--chessimals-primary-rgb),.34)}.chessimals-online h2,.chessimals-online p{margin:0}.chessimals-online h2{font-size:1.1rem;font-weight:950}.chessimals-online p{color:var(--chessimals-muted);line-height:1.4}.chessimals-online__create,.chessimals-online__join{display:grid;gap:.55rem}.chessimals-online__create small{color:var(--chessimals-muted);font-weight:800;line-height:1.35}.chessimals-online__join{border-top:1px solid var(--chessimals-border);padding-top:.85rem}.chessimals-online__join>strong{font-size:.95rem;font-weight:950}.chessimals-online__error{border-radius:.875rem;padding:.7rem .8rem;background:rgba(var(--ion-color-danger-rgb, 235, 68, 90),.12);color:var(--ion-color-danger, #eb445a)!important;font-weight:800}.chessimals-online__loading{display:flex;align-items:center;gap:.625rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);border-radius:999px;padding:.65rem .85rem;background:rgba(var(--chessimals-primary-rgb),.08);color:var(--chessimals-text);font-size:.92rem;font-weight:900}.chessimals-online__loading span{width:1rem;height:1rem;border:.15rem solid rgba(var(--chessimals-primary-rgb),.24);border-top-color:var(--chessimals-primary);border-radius:999px;animation:chessimals-spin .75s linear infinite}.chessimals-online-code{display:grid;gap:.4rem;font-weight:950}.chessimals-online-code input{width:100%;min-height:3.3rem;border:1px solid var(--chessimals-border);border-radius:999px;padding:0 1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.chessimals-game-code{display:grid;gap:.2rem;border-radius:1rem;padding:.85rem 1rem;background:var(--chessimals-soft)}.chessimals-game-code small{color:var(--chessimals-muted);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.chessimals-game-code strong{font-size:clamp(1.35rem,6vw,2rem);font-weight:950;letter-spacing:.05em}.chessimals-online-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.chessimals-history{gap:.75rem}.chessimals-history__heading{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.chessimals-history__list{display:grid;gap:.5rem}.chessimals-history__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;border:1px solid var(--chessimals-border);border-radius:1rem;padding:.7rem .8rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;text-align:left}.chessimals-history__item span{display:grid;gap:.1rem;min-width:0}.chessimals-history__item strong{font-weight:950;letter-spacing:.04em}.chessimals-history__item small{overflow:hidden;color:var(--chessimals-muted);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.chessimals-history__item em{flex:0 0 auto;color:var(--chessimals-primary);font-size:.86rem;font-style:normal;font-weight:950}.chessimals-pending-player{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);border-radius:1rem;padding:.75rem;background:var(--chessimals-soft)}.chessimals-pending-player div{display:grid;gap:.1rem;min-width:0}.chessimals-pending-player small{color:var(--chessimals-muted);font-size:.72rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.chessimals-pending-player strong{overflow:hidden;font-size:1.05rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-game{display:grid;gap:.875rem}.chessimals-turn-card{order:1;display:flex;align-items:center;justify-content:space-between;gap:.625rem;min-height:3.75rem;overflow:visible;border:1px solid rgba(var(--chessimals-primary-rgb),.24);border-radius:1rem;padding:.55rem .65rem;background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.34),transparent 18%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.2),rgba(var(--chessimals-secondary-rgb),.1))}.chessimals-turn-card.is-black-turn{border-color:rgba(var(--ion-color-dark-rgb, 47, 42, 58),.28);background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.12),transparent 18%),linear-gradient(135deg,rgba(var(--ion-color-dark-rgb, 47, 42, 58),.14),rgba(var(--chessimals-primary-rgb),.1))}.chessimals-turn-card.is-finished{border-color:rgba(var(--ion-color-success-rgb, 45, 211, 111),.42);background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.35),transparent 18%),linear-gradient(135deg,rgba(var(--ion-color-success-rgb, 45, 211, 111),.18),rgba(var(--chessimals-primary-rgb),.12))}.chessimals-turn-card.is-finished .chessimals-turn-card__chip{color:var(--ion-color-success, #2dd36f)}.chessimals-turn-card__copy{display:grid;min-width:0;gap:.15rem}.chessimals-turn-card__chip{justify-self:start;border-radius:999px;padding:.2rem .5rem;background:var(--chessimals-panel);color:var(--chessimals-primary);font-size:.62rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.chessimals-turn-card strong{display:block;min-width:0;font-size:clamp(1rem,3.5vw,1.25rem);line-height:1.08;font-weight:950;overflow-wrap:anywhere}.chessimals-turn-card p{display:block;min-width:0;margin:0;color:var(--chessimals-muted);font-size:.78rem;line-height:1.22}.chessimals-player-strip{display:flex;flex:0 0 auto;align-items:center;gap:.45rem;min-width:10rem;max-width:min(17rem,42%);border:1px solid var(--chessimals-border);border-radius:999px;padding:.3rem .55rem .3rem .35rem;background:rgba(var(--ion-color-light-rgb, 244, 245, 248),.72)}:host-context(html.ion-palette-dark) .chessimals-player-strip,:host-context([data-theme=\"dark\"]) .chessimals-player-strip{background:#ffffff0f}.chessimals-player-strip__avatar{display:grid;place-items:center;flex:0 0 1.75rem;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--chessimals-primary);color:var(--chessimals-primary-contrast);font-size:.875rem;line-height:1}.chessimals-player-strip__text{display:grid;min-width:0;gap:.05rem;line-height:1.1}.chessimals-player-strip__text span{color:var(--chessimals-muted);font-size:.58rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.chessimals-player-strip__text strong{overflow:hidden;font-size:.82rem;line-height:1.08;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-player-strip__text small{overflow:hidden;color:var(--chessimals-muted);font-size:.66rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.chessimals-arena{order:4;display:grid;gap:.875rem;align-items:start}.chessimals-howto,.chessimals-tip,.chessimals-result,.chessimals-rematch-status{display:grid;gap:.375rem;padding:1rem;border-radius:1.25rem;background:var(--chessimals-soft)}.chessimals-result{order:5}.chessimals-rematch-status{order:5;border:1px solid rgba(var(--chessimals-primary-rgb),.22);background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.12),transparent),var(--chessimals-panel)}.chessimals-rematch-status.is-incoming{border-color:rgba(var(--ion-color-success-rgb, 45, 211, 111),.38);background:linear-gradient(135deg,rgba(var(--ion-color-success-rgb, 45, 211, 111),.14),transparent),var(--chessimals-panel)}.chessimals-rematch-status strong{font-size:1rem;font-weight:950}.chessimals-rematch-status p{margin:0;color:var(--chessimals-muted);font-size:.88rem;line-height:1.35}.chessimals-howto h2,.chessimals-powers h2{margin:0;font-size:1.15rem;font-weight:950}.chessimals-howto p,.chessimals-tip p,.chessimals-powers p{color:var(--chessimals-muted)}.chessimals-learn-more{justify-self:start;min-height:2.75rem;border:0;border-radius:999px;padding:0 1rem;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font:inherit;font-weight:950}.chessimals-size,.chessimals-mode,.chessimals-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.chessimals-status{order:3;grid-template-columns:repeat(3,minmax(0,1fr))}.chessimals-size button,.chessimals-mode button,.chessimals-status div{display:grid;gap:.2rem;align-content:center;min-width:0;min-height:3.875rem;padding:.55rem .65rem;border:1px solid var(--chessimals-border);border-radius:1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;text-align:left}.chessimals-size button.is-selected{border-color:var(--chessimals-primary);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16)}.chessimals-mode button.is-selected{border-color:var(--chessimals-primary);background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.13),transparent),var(--chessimals-panel);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16)}.chessimals-difficulty{display:flex;flex-wrap:wrap;gap:.55rem}.chessimals-difficulty button{min-height:2.75rem;border:1px solid var(--chessimals-border);border-radius:999px;padding:0 1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-weight:950}.chessimals-difficulty button.is-selected{border-color:var(--chessimals-primary);background:var(--chessimals-primary);color:#fff}.chessimals-size strong,.chessimals-mode strong,.chessimals-status strong,.chessimals-result strong,.chessimals-rematch-status strong,.chessimals-tip strong{font-weight:950}.chessimals-status strong{min-width:0;font-size:clamp(.95rem,2.5vw,1.2rem);line-height:1.08;overflow-wrap:anywhere;white-space:normal}.chessimals-size small,.chessimals-mode small,.chessimals-status small{color:var(--chessimals-muted);font-size:.78rem;line-height:1.12}.chessimals-board-wrap{--chessimals-board-radius: min(.85rem, 14px);display:flex;justify-content:center;min-width:0;max-width:100%;overflow-x:auto;width:100%;padding:.25rem 0}.chessimals-board-wrap.is-orienting .chessimals-board-frame{animation:chessimals-orient-board .32s ease}.chessimals-board-wrap.is-finished{overflow-x:visible}.chessimals-board-frame{flex:0 1 58rem;min-width:0;width:100%;max-width:58rem;border-radius:var(--chessimals-board-radius)}.chessimals-board{position:relative;display:grid;grid-template-columns:repeat(var(--board-size),minmax(0,1fr));grid-template-rows:repeat(var(--board-size),minmax(0,1fr));min-width:0;width:100%;aspect-ratio:1 / 1;overflow:hidden;isolation:isolate;contain:paint;border:1px solid var(--chessimals-border);border-radius:var(--chessimals-board-radius);clip-path:inset(0 round var(--chessimals-board-radius));-webkit-mask-image:-webkit-radial-gradient(white,black);background:radial-gradient(ellipse at 16% 18%,rgba(255,255,255,.34),transparent 18%),radial-gradient(ellipse at 82% 78%,rgba(var(--chessimals-primary-rgb),.1),transparent 22%),radial-gradient(ellipse at 32% 68%,rgba(var(--chessimals-stone-rgb),.05),transparent 30%),radial-gradient(ellipse at 66% 34%,rgba(255,255,255,.08),transparent 24%),var(--chessimals-border);box-shadow:inset 0 0 0 1px #ffffff1a,0 .85rem 2.1rem var(--chessimals-board-shadow)}.chessimals-board-wrap.is-syncing .chessimals-board{cursor:wait}.chessimals-cell-coordinate{position:absolute;z-index:5;color:color-mix(in srgb,var(--chessimals-muted) 78%,var(--chessimals-text));font-size:.68rem;font-weight:950;letter-spacing:.02em;line-height:1;pointer-events:none;text-transform:uppercase;-webkit-user-select:none;user-select:none}.chessimals-cell-coordinate--rank{top:.2rem;left:.24rem}.chessimals-cell-coordinate--file{right:.24rem;bottom:.18rem}@keyframes chessimals-orient-board{0%{opacity:.72;filter:blur(.06rem);transform:scale(.985)}52%{opacity:.92;filter:blur(0);transform:scale(1.012)}to{opacity:1;filter:blur(0);transform:scale(1)}}.chessimals-center-line{position:absolute;top:50%;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;border-top:.08rem dashed rgba(var(--chessimals-primary-rgb),.56);filter:drop-shadow(0 0 .24rem rgba(var(--chessimals-primary-rgb),.26));pointer-events:none}.chessimals-power-trail{position:absolute;inset:0;z-index:5;pointer-events:none;--trail-color: rgba(var(--chessimals-selected-rgb), .76);--trail-glow: rgba(var(--chessimals-selected-rgb), .34)}.chessimals-power-trail.is-capture{--trail-color: rgba(var(--chessimals-capture-rgb), .86);--trail-glow: rgba(var(--chessimals-capture-rgb), .46)}.chessimals-power-trail.effect-eagle{--trail-color: rgba(255, 255, 255, .92);--trail-glow: rgba(120, 210, 255, .54)}.chessimals-power-trail.effect-bull{--trail-color: rgba(188, 131, 76, .86);--trail-glow: rgba(188, 131, 76, .36)}.chessimals-power-trail.effect-kangaroo{--trail-color: rgba(174, 124, 255, .86);--trail-glow: rgba(174, 124, 255, .42)}.chessimals-power-trail.effect-lion{--trail-color: rgba(255, 221, 120, .88);--trail-glow: rgba(255, 190, 56, .42)}.chessimals-power-trail>span{position:absolute;top:var(--trail-y);left:var(--trail-x);width:var(--trail-length);height:.45rem;border-radius:999px;background:linear-gradient(90deg,transparent,var(--trail-color) 42%,rgba(255,255,255,.92));box-shadow:0 0 .75rem var(--trail-glow),0 0 1.45rem var(--trail-glow);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0);transform-origin:0 50%;animation:chessimals-power-trail .72s ease-out both}.chessimals-power-trail.effect-eagle>span{height:.28rem;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95) 44%,rgba(120,210,255,.58)),repeating-linear-gradient(90deg,transparent 0 .7rem,rgba(255,255,255,.66) .7rem .92rem);animation-name:chessimals-eagle-trail}.chessimals-power-trail.effect-bull>span{height:.72rem;background:repeating-linear-gradient(90deg,rgba(255,255,255,.42) 0 .18rem,transparent .18rem .42rem),linear-gradient(90deg,transparent,var(--trail-color),rgba(255,255,255,.86));animation-name:chessimals-bull-trail}.chessimals-power-trail.effect-kangaroo>span{height:1rem;border-top:.16rem dashed var(--trail-color);background:transparent;box-shadow:none;filter:drop-shadow(0 0 .8rem var(--trail-glow));animation-name:chessimals-kangaroo-trail}.chessimals-power-trail.effect-lion>span{height:.62rem;background:linear-gradient(90deg,transparent,var(--trail-color),rgba(255,255,255,.82)),repeating-linear-gradient(115deg,rgba(255,255,255,.55) 0 .12rem,transparent .12rem .34rem);animation-name:chessimals-lion-trail}@keyframes chessimals-power-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0)}28%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.72)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}@keyframes chessimals-eagle-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0) skew(-10deg)}30%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.82) skew(-10deg)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1.05) skew(-10deg)}}@keyframes chessimals-bull-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0) scaleY(1)}38%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.7) scaleY(1.18)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1) scaleY(.82)}}@keyframes chessimals-kangaroo-trail{0%{opacity:0;transform:translateY(-.4rem) rotate(var(--trail-angle)) scaleX(0)}34%{opacity:1;transform:translateY(-1.2rem) rotate(var(--trail-angle)) scaleX(.62)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}@keyframes chessimals-lion-trail{0%{opacity:0;filter:saturate(1);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0)}36%{opacity:1;filter:saturate(1.4);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.76)}to{opacity:0;filter:saturate(1.1);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}.chessimals-board-overlay{position:absolute;inset:0;z-index:8;display:grid;place-content:center;gap:.45rem;padding:1.25rem;background:radial-gradient(circle at 50% 36%,rgba(255,226,129,.28),transparent 28%),radial-gradient(circle at 50% 48%,rgba(var(--chessimals-primary-rgb),.3),transparent 44%),#0d0a12c7;color:#fff;text-align:center;backdrop-filter:blur(2px);overflow:hidden}.chessimals-board-overlay:before{position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.5) 0 .08rem,transparent .1rem),radial-gradient(circle at 75% 25%,rgba(255,226,129,.62) 0 .1rem,transparent .12rem),radial-gradient(circle at 68% 72%,rgba(var(--chessimals-capture-rgb),.46) 0 .08rem,transparent .1rem),radial-gradient(circle at 35% 78%,rgba(255,255,255,.42) 0 .07rem,transparent .09rem);content:\"\";opacity:.72;animation:chessimals-victory-sparks 1.5s ease-in-out infinite}.chessimals-board-overlay>*{position:relative;z-index:1}.chessimals-board-overlay span{justify-self:center;border-radius:999px;padding:.32rem .7rem;background:#ffffff26;color:#ffffffe6;font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.chessimals-board-overlay strong{font-size:clamp(1.65rem,8vw,3rem);line-height:1;font-weight:950;text-shadow:0 0 1.25rem rgba(255,255,255,.26)}.chessimals-board-overlay small{color:#ffffffd1;font-size:clamp(.9rem,3vw,1.1rem);font-weight:800}@keyframes chessimals-victory-sparks{0%,to{opacity:.46;transform:translateY(0) scale(.98)}50%{opacity:.95;transform:translateY(-.35rem) scale(1.02)}}.chessimals-cell{position:relative;isolation:isolate;--chessimals-cell-bg: var(--chessimals-cell-light);display:grid;place-items:center;min-width:0;min-height:0;aspect-ratio:1;border:0;background:radial-gradient(ellipse at 24% 22%,rgba(255,255,255,.2),transparent 24%),radial-gradient(ellipse at 78% 76%,rgba(var(--chessimals-stone-rgb),.12),transparent 28%),radial-gradient(ellipse at 38% 64%,rgba(255,255,255,.08),transparent 22%),radial-gradient(ellipse at 64% 42%,rgba(var(--chessimals-stone-rgb),.08),transparent 26%),radial-gradient(circle at 14% 84%,rgba(var(--chessimals-stone-rgb),.05),transparent 18%),var(--chessimals-cell-bg);color:var(--chessimals-text);font:inherit;overflow:hidden;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.chessimals-cell:before,.chessimals-cell:after{pointer-events:none}.chessimals-cell.is-dark-cell{--chessimals-cell-bg: var(--chessimals-cell-dark)}.chessimals-cell.is-selected{z-index:1;background:radial-gradient(circle,rgba(var(--chessimals-selected-rgb),.28) 0 36%,transparent 62%),linear-gradient(135deg,rgba(var(--chessimals-selected-rgb),.22),#ffffff14),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .18rem var(--chessimals-selected),inset 0 0 .55rem #ffffffb8,inset 0 0 1.8rem rgba(var(--chessimals-selected-rgb),.42),0 0 .55rem rgba(var(--chessimals-selected-rgb),.56),0 0 1.55rem rgba(var(--chessimals-selected-rgb),.36)}.chessimals-cell.is-legal:not(.is-capture):after{position:absolute;inset:13%;z-index:2;border:max(2px,1.8%) solid var(--chessimals-move);border-radius:.55rem;content:\"\";opacity:.74;pointer-events:none}.chessimals-cell.is-last:not(.is-selected):not(.is-legal):not(.is-capture){background:radial-gradient(circle,rgba(var(--chessimals-last-rgb),.16) 0 42%,transparent 68%),var(--chessimals-cell-bg)}.chessimals-cell.is-capture{z-index:2;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.24),transparent 34%),linear-gradient(135deg,rgba(var(--chessimals-capture-rgb),.14),#ffffff14),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .14rem rgba(var(--chessimals-capture-rgb),.84),inset 0 0 1.4rem rgba(var(--chessimals-capture-rgb),.24),0 0 .95rem rgba(var(--chessimals-capture-rgb),.34);animation:chessimals-capture-aura 1.35s ease-in-out infinite}.chessimals-cell.is-capture:before{position:absolute;inset:4%;z-index:1;display:block;border-radius:.64rem;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.24),transparent 58%);content:\"\";opacity:0;transform:translate(-42%) scale(.9);animation:chessimals-capture-sweep 1.35s ease-in-out infinite}.chessimals-cell.is-capture:after{position:absolute;inset:8%;z-index:3;border:max(2px,1.55%) solid rgba(var(--chessimals-capture-rgb),.9);border-radius:.62rem;box-shadow:0 0 .75rem rgba(var(--chessimals-capture-rgb),.5),inset 0 0 .72rem #ffffff38;content:\"\";pointer-events:none;animation:chessimals-capture-frame 1.35s ease-in-out infinite}@keyframes chessimals-capture-aura{0%,to{filter:saturate(1);box-shadow:inset 0 0 0 .12rem rgba(var(--chessimals-capture-rgb),.78),inset 0 0 1rem rgba(var(--chessimals-capture-rgb),.2),0 0 .64rem rgba(var(--chessimals-capture-rgb),.32)}50%{filter:saturate(1.22);box-shadow:inset 0 0 0 .16rem rgba(var(--chessimals-capture-rgb),.96),inset 0 0 1.34rem rgba(var(--chessimals-capture-rgb),.34),0 0 1.2rem rgba(var(--chessimals-capture-rgb),.48)}}@keyframes chessimals-capture-sweep{0%{opacity:0;transform:translate(-52%) scale(.88)}42%{opacity:.66;transform:translate(0) scale(1)}to{opacity:0;transform:translate(48%) scale(.92)}}@keyframes chessimals-capture-frame{0%,to{opacity:.68;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}.chessimals-cell.has-source-effect:not(.is-moving-source){background:radial-gradient(circle,rgba(var(--chessimals-selected-rgb),.12) 0 34%,transparent 64%),var(--chessimals-cell-bg)}.chessimals-cell.has-move-effect{z-index:2;background:radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.22) 0 34%,transparent 68%),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .16rem rgba(var(--chessimals-capture-rgb),.86),inset 0 0 1.2rem rgba(var(--chessimals-capture-rgb),.26),0 0 1.1rem rgba(var(--chessimals-capture-rgb),.42)}.chessimals-cell.has-move-effect:before{position:absolute;inset:.12rem;z-index:1;display:block;border-radius:.7rem;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.48),transparent 22%),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.42),transparent 58%);content:\"\";opacity:0;transform:scale(.72);animation:chessimals-power-impact .7s ease-out both}.chessimals-cell.has-move-effect:after{position:absolute;inset:.28rem;z-index:4;display:block;border:.14rem solid rgba(255,255,255,.72);border-radius:.58rem;box-shadow:0 0 .5rem #ffffff5c,0 0 1rem rgba(var(--chessimals-capture-rgb),.32);content:\"\";animation:chessimals-power-frame .86s ease-out both}.chessimals-cell.has-capture-effect{animation:chessimals-capture-hit .78s ease-out both}.chessimals-cell.effect-eagle:before{background:linear-gradient(135deg,transparent 10%,rgba(255,255,255,.78) 48%,transparent 52%),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.36),transparent 62%)}.chessimals-cell.effect-bull:before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.34) 0 .16rem,transparent .16rem .34rem),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.38),transparent 62%)}.chessimals-cell.effect-kangaroo:before{border-radius:999px;background:radial-gradient(circle at 42% 44%,rgba(255,255,255,.58),transparent 18%),radial-gradient(circle at 58% 56%,rgba(var(--chessimals-capture-rgb),.4),transparent 64%)}.chessimals-cell.effect-lion:before{background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.56),transparent,rgba(var(--chessimals-capture-rgb),.4),transparent),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.34),transparent 62%)}@keyframes chessimals-power-impact{0%{opacity:0;transform:scale(.54) rotate(0)}28%{opacity:1;transform:scale(.96) rotate(2deg)}to{opacity:0;transform:scale(1.3) rotate(8deg)}}@keyframes chessimals-power-frame{0%{opacity:0;transform:scale(.84)}34%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(1.16)}}@keyframes chessimals-capture-hit{0%,to{filter:saturate(1)}35%{filter:saturate(1.35) brightness(1.08)}}.chessimals-cell.is-moving-source .chessimals-piece{opacity:0}.chessimals-piece{position:relative;z-index:2;display:block;width:68%;height:74%;color:var(--chessimals-primary);--chessimals-piece-fill: var(--chessimals-piece-white-fill);--chessimals-piece-side: var(--chessimals-piece-white-side);--chessimals-piece-line: var(--chessimals-piece-white-line);--chessimals-piece-outline: rgba(82, 65, 46, .24);filter:var(--chessimals-piece-white-shadow)}.chessimals-piece.is-black{color:#fff;--chessimals-piece-fill: var(--chessimals-piece-black-fill);--chessimals-piece-side: var(--chessimals-piece-black-side);--chessimals-piece-line: var(--chessimals-piece-black-line);--chessimals-piece-outline: rgba(255, 255, 255, .16);filter:var(--chessimals-piece-black-shadow)}.chessimals-moving-piece{position:absolute;top:0;left:0;z-index:6;width:calc(100% / var(--board-size));height:calc(100% / var(--board-size));display:grid;place-items:center;pointer-events:none;transform:translate(calc(var(--from-col) * 100%),calc(var(--from-row) * 100%));animation:chessimals-piece-travel .36s cubic-bezier(.2,.82,.24,1) both}@keyframes chessimals-piece-travel{0%{transform:translate(calc(var(--from-col) * 100%),calc(var(--from-row) * 100%)) scale(1)}68%{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%)) scale(1.07)}to{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%)) scale(1)}}.chessimals-piece__side,.chessimals-piece__head,.chessimals-piece__collar,.chessimals-piece__neck,.chessimals-piece__base{position:absolute;display:block;left:50%;background:var(--chessimals-piece-fill);border:max(1px,1.25%) solid var(--chessimals-piece-outline);transform:translate(-50%)}.chessimals-piece__side{top:46%;z-index:0;width:58%;height:41%;border-radius:34% 34% 12% 12%;background:linear-gradient(96deg,var(--chessimals-piece-side) 0 34%,transparent 35%),var(--chessimals-piece-fill);clip-path:polygon(22% 0,78% 0,96% 100%,4% 100%);opacity:.92}.chessimals-piece__head{top:1%;z-index:4;width:48%;height:40%;border-radius:999px;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.72) 0 13%,transparent 14%),linear-gradient(135deg,rgba(255,255,255,.28) 0 34%,transparent 35%),var(--chessimals-piece-fill);box-shadow:inset -.18rem -.12rem #52412e0f,inset 0 -1px 0 var(--chessimals-piece-line)}.chessimals-piece.is-black .chessimals-piece__head{box-shadow:inset .18rem -.12rem #ffffff0f,inset 0 -1px 0 var(--chessimals-piece-line)}.chessimals-piece__collar{top:37%;z-index:5;width:72%;height:15%;border-radius:999px;background:linear-gradient(180deg,#f5cd77 0%,var(--chessimals-piece-gold) 55%,var(--chessimals-piece-gold-dark) 100%);border-color:color-mix(in srgb,var(--chessimals-piece-gold-dark) 72%,transparent);box-shadow:inset 0 .12rem #ffffff47,inset 0 -.08rem #462e1238,0 .08rem .18rem #462e1224}.chessimals-piece__neck{top:50%;z-index:2;width:52%;height:31%;clip-path:polygon(16% 0,84% 0,100% 100%,0 100%);background:linear-gradient(100deg,var(--chessimals-piece-side) 0 28%,transparent 29%),linear-gradient(180deg,var(--chessimals-piece-fill),color-mix(in srgb,var(--chessimals-piece-fill) 78%,var(--chessimals-piece-side)));box-shadow:inset -.12rem .1rem #ffffff14}.chessimals-piece__base{bottom:0;z-index:6;width:86%;height:17%;border-radius:.42rem .42rem .22rem .22rem;background:linear-gradient(100deg,var(--chessimals-piece-side) 0 18%,transparent 19%),linear-gradient(180deg,color-mix(in srgb,var(--chessimals-piece-fill) 92%,#ffffff),var(--chessimals-piece-fill));box-shadow:inset 0 .12rem #ffffff24,inset 0 -.1rem 0 var(--chessimals-piece-line)}.chessimals-target{width:16%;height:16%;border-radius:999px;background:var(--chessimals-move);opacity:.9;box-shadow:0 0 .9rem rgba(var(--chessimals-move-rgb),.42)}.chessimals-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.625rem}.chessimals-cards button{display:grid;gap:.375rem;place-items:center;min-height:5.75rem;padding:.625rem;border:1px solid var(--chessimals-border);border-radius:1.125rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.chessimals-powers__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chessimals-powers p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.chessimals-powers__heading span{flex:0 0 auto;border-radius:999px;padding:.28rem .62rem;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font-size:.78rem;font-weight:950}.chessimals-cards button.is-selected{border-color:var(--chessimals-primary);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16),0 .9rem 2rem rgba(var(--chessimals-primary-rgb),.13);transform:translateY(-1px)}.chessimals-cards button.is-used{opacity:.42}.chessimals-animal-face{display:grid;place-items:center;width:3.25rem;height:3.25rem;padding:.34rem;overflow:hidden;border-radius:1.2rem;background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.82),transparent 55%),var(--chessimals-animal-face-bg);color:color-mix(in srgb,var(--chessimals-text) 92%,#000);box-shadow:inset 0 0 0 1px var(--chessimals-animal-face-border),0 .45rem 1.15rem #2e3a2c1a}.chessimals-animal-face img{display:block;width:100%;height:100%;object-fit:contain;border-radius:.72rem;background:var(--chessimals-animal-face-inner-bg);box-shadow:inset 0 0 0 1px #2e3a2c14;transform:none;filter:var(--chessimals-animal-face-filter)}.chessimals-cards button.is-selected .chessimals-animal-face,.chessimals-powers.is-ready .chessimals-cards button:not(.is-used) .chessimals-animal-face{background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.82),transparent 55%),var(--chessimals-animal-face-bg);color:color-mix(in srgb,var(--chessimals-text) 94%,#000);box-shadow:inset 0 0 0 1px #2e3a2c24,0 .75rem 1.6rem rgba(var(--chessimals-selected-rgb),.18)}.chessimals-powers.is-locked .chessimals-animal-face{filter:var(--chessimals-animal-face-locked-filter);opacity:.86}.chessimals-powers.is-locked .chessimals-animal-face img,.chessimals-cards button.is-used .chessimals-animal-face img{opacity:var(--chessimals-animal-face-locked-img-opacity)}.chessimals-cards strong{overflow:hidden;max-width:100%;font-size:.82rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-powers.is-locked .chessimals-cards{opacity:.68}.chessimals-powers.is-ready{border-color:rgba(var(--chessimals-primary-rgb),.42);box-shadow:0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}.chessimals-powers.is-ready .chessimals-cards button:not(.is-used){animation:chessimalsPowerPulse 1.8s ease-in-out infinite}.chessimals-powers.is-unlock-pulse{animation:chessimalsPowersUnlocked 1.18s ease-out both}.chessimals-powers.is-unlock-pulse .chessimals-cards button:not(.is-used){animation:chessimalsPowerIgnite .76s ease-out both,chessimalsPowerPulse 1.8s ease-in-out .76s infinite}@keyframes chessimalsPowerPulse{0%,to{box-shadow:0 0 rgba(var(--chessimals-primary-rgb),0)}50%{box-shadow:0 0 1.4rem rgba(var(--chessimals-primary-rgb),.22)}}@keyframes chessimalsPowersUnlocked{0%{box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}34%{box-shadow:0 0 0 .18rem rgba(var(--chessimals-selected-rgb),.24),0 0 2.2rem rgba(var(--chessimals-selected-rgb),.34),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.16)}to{box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}}@keyframes chessimalsPowerIgnite{0%{transform:translateY(0) scale(.96);box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0)}42%{transform:translateY(-.08rem) scale(1.025);box-shadow:0 0 0 .14rem rgba(var(--chessimals-selected-rgb),.2),0 0 1.5rem rgba(var(--chessimals-selected-rgb),.42)}to{transform:translateY(0) scale(1);box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0)}}.chessimals-actions{order:6;align-self:stretch;justify-self:stretch;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.625rem;margin-top:1rem}.chessimals-shell--projection .chessimals-game{max-width:min(96vw,90rem)}.chessimals-shell--projection .chessimals-turn-card{padding:.875rem 1rem}.chessimals-shell--projection .chessimals-status,.chessimals-shell--projection .chessimals-actions,.chessimals-shell--projection .chessimals-online,.chessimals-shell--projection .chessimals-rematch-status{display:none}.chessimals-shell--projection .chessimals-arena{grid-template-columns:minmax(0,1fr);justify-items:center}.chessimals-shell--projection .chessimals-board-wrap{--chessimals-board-radius: min(.625rem, 10px);width:min(96vw,82vh,58rem);max-width:none}.chessimals-shell--projection .chessimals-board-frame{flex-basis:auto;max-width:none}@media (min-width: 760px){.chessimals-game{gap:1rem}.chessimals-turn-card,.chessimals-status,.chessimals-arena,.chessimals-result,.chessimals-actions{grid-column:1 / -1}.chessimals-arena{grid-template-columns:minmax(0,1fr);justify-items:center;align-items:start;gap:1rem}.chessimals-powers{width:min(100%,44rem);align-content:center;grid-template-columns:minmax(11rem,.68fr) minmax(0,1fr);align-items:center;gap:1rem;padding:1rem}.chessimals-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.chessimals-cards button{min-height:5rem}.chessimals-powers p{-webkit-line-clamp:3}}.chessimals-rules{display:grid;gap:1rem;padding-top:.25rem}.chessimals-rules__hero{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:1.35rem;border:1px solid rgba(var(--chessimals-primary-rgb),.18);box-shadow:0 1rem 2.25rem #2e3a2c1f}.chessimals-rules article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;padding:1rem;border:1px solid var(--ion-border-color, #e7e4ea);border-radius:1.25rem;background:var(--ion-card-background, #fff);color:var(--ion-text-color, #2f2a3a)}.chessimals-rules article>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font-weight:950}.chessimals-rules article>div{display:grid;min-width:0;gap:.45rem}.chessimals-rules h3,.chessimals-rules p,.chessimals-rules ul{margin:0}.chessimals-rules h3{font-size:1rem;font-weight:950;line-height:1.2}.chessimals-rules p,.chessimals-rules li{color:var(--ion-color-medium, #6f6a7a);line-height:1.5}.chessimals-rules ul{display:grid;gap:.45rem;padding-left:1.15rem}.chessimals-rules__closing{display:grid;place-items:center;justify-self:center;width:min(12rem,62%);padding:.65rem;border-radius:1.25rem;background:color-mix(in srgb,var(--chessimals-surface) 86%,#ffffff 14%);border:1px solid rgba(var(--chessimals-primary-rgb),.14);box-shadow:0 .75rem 1.75rem #2e3a2c1a}.chessimals-rules__closing img{display:block;width:100%;border-radius:.85rem;object-fit:contain}.chessimals-primary,.chessimals-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.625rem;border-radius:999px;font:inherit;font-weight:950}.chessimals-primary{border:0;background:var(--chessimals-primary);color:var(--chessimals-primary-contrast);box-shadow:0 1.125rem 2.8rem rgba(var(--chessimals-primary-rgb),.28)}.chessimals-secondary{border:1px solid var(--chessimals-border);background:transparent;color:var(--chessimals-text)}.chessimals-primary.is-working,.chessimals-secondary.is-working{cursor:wait;opacity:.82}.chessimals-button-spinner{width:1rem;height:1rem;flex:0 0 auto;border:.14rem solid currentColor;border-right-color:transparent;border-radius:999px;animation:chessimals-spin .72s linear infinite}@media (max-width: 560px){.chessimals-size,.chessimals-mode,.chessimals-actions{grid-template-columns:1fr}.chessimals-game{gap:.55rem;border-radius:1.25rem;padding:.625rem}.chessimals-turn-card{flex-direction:column;align-items:stretch;gap:.45rem;min-height:0;border-radius:.95rem;padding:.55rem}.chessimals-turn-card__chip{padding:.18rem .5rem;font-size:.6rem;letter-spacing:.045em;white-space:nowrap}.chessimals-turn-card strong{font-size:clamp(.98rem,5vw,1.25rem);line-height:1.08}.chessimals-turn-card p{font-size:.76rem;line-height:1.2}.chessimals-player-strip{width:100%;max-width:none;min-width:0}.chessimals-status{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.chessimals-status div{gap:.2rem;min-height:2.5rem;border-radius:.95rem;padding:.4rem .35rem}.chessimals-status small{font-size:.66rem;line-height:1.05}.chessimals-status strong{font-size:clamp(.86rem,3.4vw,1rem);line-height:1.05}.chessimals-tip,.chessimals-result{gap:.2rem;border-radius:1rem;padding:.7rem .75rem}.chessimals-tip strong,.chessimals-result strong{font-size:.95rem}.chessimals-tip p,.chessimals-result p{font-size:.9rem;line-height:1.28}.chessimals-arena{gap:.5rem}.chessimals-board-wrap{width:100%;margin-inline:0;padding:0}.chessimals-board-frame{width:100%}.chessimals-powers{gap:.5rem;border-radius:1rem;padding:.65rem}.chessimals-powers__heading{gap:.4rem}.chessimals-powers h2{font-size:1rem}.chessimals-powers__heading span{padding:.22rem .48rem;font-size:.68rem}.chessimals-powers p{font-size:.78rem;line-height:1.2;-webkit-line-clamp:1}.chessimals-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.chessimals-cards button{gap:.25rem;min-height:4.25rem;border-radius:.85rem;padding:.4rem .25rem}.chessimals-animal-face{width:2.35rem;height:2.35rem;padding:.26rem;border-radius:.85rem}.chessimals-animal-face img{border-radius:.55rem}.chessimals-cards strong{font-size:.66rem}.chessimals-board{border-radius:var(--chessimals-board-radius)}.chessimals-cell-coordinate{font-size:.58rem}}@media (prefers-reduced-motion: reduce){.chessimals-cell.is-capture,.chessimals-cell.is-capture:before,.chessimals-cell.is-capture:after,.chessimals-cell.has-move-effect,.chessimals-cell.has-move-effect:before,.chessimals-cell.has-move-effect:after,.chessimals-cell.has-capture-effect,.chessimals-moving-piece{animation:none!important}.chessimals-moving-piece{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%))}}\n"], dependencies: [{ kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: ModalLayoutComponent, selector: "val-modal-layout", inputs: ["title", "subtitle", "closeLabel", "showClose", "actions", "actionsAlign", "footer", "footerClass"], outputs: ["close", "actionClick"] }, { kind: "component", type: UserAvatarComponent, selector: "val-user-avatar", inputs: ["props"], outputs: ["onClick"] }] }); }
65092
+ `, isInline: true, styles: [":host{display:block}.chessimals-shell{--chessimals-panel: #ffffff;--chessimals-surface: #fffaf1;--chessimals-border: rgba(46, 58, 44, .18);--chessimals-text: #2e3a2c;--chessimals-muted: #51643d;--chessimals-soft: rgba(111, 122, 60, .1);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-selected: #37f28a;--chessimals-selected-rgb: 55, 242, 138;--chessimals-move: var(--chessimals-sky);--chessimals-move-rgb: var(--chessimals-sky-rgb);--chessimals-capture: #1fcdb3;--chessimals-capture-rgb: 31, 205, 179;--chessimals-last: #8c6b4f;--chessimals-last-rgb: 140, 107, 79;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(46, 58, 44, .14);--chessimals-piece-white-fill: #ffffff;--chessimals-piece-white-side: #f3eadb;--chessimals-piece-white-line: rgba(82, 65, 46, .12);--chessimals-piece-white-shadow: drop-shadow(0 0 1px rgba(84, 62, 34, .26)) drop-shadow(0 2px 3px rgba(84, 62, 34, .14));--chessimals-piece-black-fill: #242936;--chessimals-piece-black-side: #171b25;--chessimals-piece-black-line: rgba(255, 255, 255, .1);--chessimals-piece-black-shadow: drop-shadow(0 0 1px rgba(255, 255, 255, .14)) drop-shadow(0 2px 3px rgba(0, 0, 0, .24));--chessimals-piece-gold: #c79a42;--chessimals-piece-gold-dark: #8a5f22;--chessimals-animal-face-bg: #fffdf7;--chessimals-animal-face-inner-bg: #ffffff;--chessimals-animal-face-border: rgba(46, 58, 44, .12);--chessimals-animal-face-filter: drop-shadow(0 .12rem .16rem rgba(46, 58, 44, .18));--chessimals-animal-face-locked-filter: grayscale(.2) saturate(.72);--chessimals-animal-face-locked-img-opacity: .72;display:grid;gap:1.125rem;width:100%;max-width:min(100%,60rem);margin:0 auto;color:var(--chessimals-text)}@media (prefers-color-scheme: dark){.chessimals-shell{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(242, 230, 213, .2);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1;--chessimals-soft: rgba(111, 122, 60, .22);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(0, 0, 0, .34);--chessimals-animal-face-border: rgba(242, 230, 213, .24)}}.chessimals-resume-splash{order:0;position:fixed;inset:0;z-index:1000;display:grid;place-items:center;align-content:center;gap:.65rem;padding:1.5rem;text-align:center;color:var(--chessimals-text);background:radial-gradient(circle at 50% 42%,rgba(var(--chessimals-primary-rgb),.18),transparent 22rem),color-mix(in srgb,var(--chessimals-panel) 92%,transparent);backdrop-filter:blur(.9rem)}.chessimals-resume-splash__paw{display:grid;place-items:center;width:clamp(4.6rem,16vw,5.6rem);height:clamp(4.6rem,16vw,5.6rem);border-radius:1.55rem;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.96),transparent 34%),linear-gradient(145deg,#fffffff5,rgba(var(--chessimals-secondary-rgb),.22)),color-mix(in srgb,var(--chessimals-panel) 82%,white);border:.12rem solid rgba(var(--chessimals-primary-rgb),.22);box-shadow:0 1.15rem 2.6rem rgba(var(--ion-color-dark-rgb, 47, 42, 58),.16),0 0 0 .42rem #ffffff6b,inset 0 -.25rem .6rem rgba(var(--chessimals-primary-rgb),.08);animation:chessimals-resume-pulse 1.2s ease-in-out infinite;font-size:clamp(2.45rem,9vw,3.35rem);line-height:1;filter:drop-shadow(0 .28rem .38rem rgba(var(--ion-color-dark-rgb, 47, 42, 58),.18))}.chessimals-resume-splash strong{font-size:clamp(1.55rem,5vw,2.4rem);font-weight:950;line-height:1.05}.chessimals-resume-splash p{max-width:24rem;margin:0;color:var(--chessimals-muted);font-size:1rem;line-height:1.35}@keyframes chessimals-resume-pulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-.25rem) scale(1.04)}}@keyframes chessimals-spin{to{transform:rotate(360deg)}}:host-context(html.ion-palette-dark) .chessimals-shell,:host-context([data-theme=\"dark\"]) .chessimals-shell{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(246, 227, 213, .22);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1;--chessimals-soft: rgba(111, 122, 60, .22);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(0, 0, 0, .34);--chessimals-capture: #66f2d7;--chessimals-capture-rgb: 102, 242, 215;--chessimals-last: #cdbe9b;--chessimals-last-rgb: 205, 190, 155;--chessimals-piece-white-fill: #fffaff;--chessimals-piece-white-side: #f0e5d4;--chessimals-piece-white-line: rgba(82, 65, 46, .12);--chessimals-piece-white-shadow: drop-shadow(0 0 1px rgba(84, 62, 34, .24)) drop-shadow(0 2px 3px rgba(0, 0, 0, .2));--chessimals-piece-black-fill: #202633;--chessimals-piece-black-side: #111620;--chessimals-piece-black-line: rgba(255, 255, 255, .12);--chessimals-piece-black-shadow: drop-shadow(0 0 1px rgba(255, 255, 255, .34)) drop-shadow(0 3px 4px rgba(0, 0, 0, .44));--chessimals-animal-face-bg: #fffdf7;--chessimals-animal-face-inner-bg: #ffffff;--chessimals-animal-face-border: rgba(242, 230, 213, .24);--chessimals-animal-face-filter: drop-shadow(0 .12rem .16rem rgba(0, 0, 0, .22));--chessimals-animal-face-locked-filter: grayscale(.32) saturate(.72);--chessimals-animal-face-locked-img-opacity: .58}.chessimals-hero{display:grid;gap:.75rem;justify-items:center;overflow:hidden;border-radius:1.75rem;padding:clamp(1.25rem,5vw,2.5rem);background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.92),transparent 20%),linear-gradient(135deg,#fdf8ee,#fff 40%,#edf3df);color:var(--chessimals-text);text-align:center;border:1px solid var(--chessimals-border)}.chessimals-hero__logo{display:grid;place-items:center;width:min(22rem,82vw);max-width:100%;padding:.5rem;border-radius:1.35rem;background:#fff;box-shadow:0 1rem 2.5rem #2e3a2c1a,inset 0 0 0 1px #2e3a2c14}.chessimals-hero__logo img{display:block;width:100%;height:auto;max-height:12rem;object-fit:contain;border-radius:1rem}.chessimals-hero h1{margin:0;font-size:clamp(2.4rem,9vw,4.5rem);line-height:.95;font-weight:950}.chessimals-hero p,.chessimals-howto p,.chessimals-tip p,.chessimals-result p,.chessimals-powers p{margin:0;line-height:1.45}.chessimals-panel,.chessimals-game,.chessimals-powers{display:grid;gap:1rem;border:1px solid var(--chessimals-border);border-radius:1.625rem;padding:clamp(1rem,4vw,1.5rem);background:var(--chessimals-panel)}.chessimals-online{display:grid;gap:.875rem;border:1px solid var(--chessimals-border);border-radius:1.375rem;padding:1rem;background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.08),transparent),var(--chessimals-panel)}.chessimals-online--waiting{order:2;border-color:rgba(var(--chessimals-primary-rgb),.34)}.chessimals-online h2,.chessimals-online p{margin:0}.chessimals-online h2{font-size:1.1rem;font-weight:950}.chessimals-online p{color:var(--chessimals-muted);line-height:1.4}.chessimals-online__create,.chessimals-online__join{display:grid;gap:.55rem}.chessimals-online__create small{color:var(--chessimals-muted);font-weight:800;line-height:1.35}.chessimals-online__join{border-top:1px solid var(--chessimals-border);padding-top:.85rem}.chessimals-online__join>strong{font-size:.95rem;font-weight:950}.chessimals-online__error{border-radius:.875rem;padding:.7rem .8rem;background:rgba(var(--ion-color-danger-rgb, 235, 68, 90),.12);color:var(--ion-color-danger, #eb445a)!important;font-weight:800}.chessimals-online__loading{display:flex;align-items:center;gap:.625rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);border-radius:999px;padding:.65rem .85rem;background:rgba(var(--chessimals-primary-rgb),.08);color:var(--chessimals-text);font-size:.92rem;font-weight:900}.chessimals-online__loading span{width:1rem;height:1rem;border:.15rem solid rgba(var(--chessimals-primary-rgb),.24);border-top-color:var(--chessimals-primary);border-radius:999px;animation:chessimals-spin .75s linear infinite}.chessimals-online-code{display:grid;gap:.4rem;font-weight:950}.chessimals-online-code input{width:100%;min-height:3.3rem;border:1px solid var(--chessimals-border);border-radius:999px;padding:0 1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.chessimals-game-code{display:grid;gap:.2rem;border-radius:1rem;padding:.85rem 1rem;background:var(--chessimals-soft)}.chessimals-game-code small{color:var(--chessimals-muted);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.chessimals-game-code strong{font-size:clamp(1.35rem,6vw,2rem);font-weight:950;letter-spacing:.05em}.chessimals-online-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.chessimals-history{gap:.75rem}.chessimals-history__heading{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.chessimals-history__list{display:grid;gap:.5rem}.chessimals-history__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;border:1px solid var(--chessimals-border);border-radius:1rem;padding:.7rem .8rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;text-align:left}.chessimals-history__item span{display:grid;gap:.1rem;min-width:0}.chessimals-history__item strong{font-weight:950;letter-spacing:.04em}.chessimals-history__item small{overflow:hidden;color:var(--chessimals-muted);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.chessimals-history__item em{flex:0 0 auto;color:var(--chessimals-primary);font-size:.86rem;font-style:normal;font-weight:950}.chessimals-pending-player{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);border-radius:1rem;padding:.75rem;background:var(--chessimals-soft)}.chessimals-pending-player div{display:grid;gap:.1rem;min-width:0}.chessimals-pending-player small{color:var(--chessimals-muted);font-size:.72rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.chessimals-pending-player strong{overflow:hidden;font-size:1.05rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-game{display:grid;gap:.875rem}.chessimals-turn-card{order:1;display:flex;align-items:center;justify-content:space-between;gap:.625rem;min-height:3.75rem;overflow:visible;border:1px solid rgba(var(--chessimals-primary-rgb),.24);border-radius:1rem;padding:.55rem .65rem;background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.34),transparent 18%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.2),rgba(var(--chessimals-secondary-rgb),.1))}.chessimals-turn-card.is-black-turn{border-color:rgba(var(--ion-color-dark-rgb, 47, 42, 58),.28);background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.12),transparent 18%),linear-gradient(135deg,rgba(var(--ion-color-dark-rgb, 47, 42, 58),.14),rgba(var(--chessimals-primary-rgb),.1))}.chessimals-turn-card.is-finished{border-color:rgba(var(--ion-color-success-rgb, 45, 211, 111),.42);background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.35),transparent 18%),linear-gradient(135deg,rgba(var(--ion-color-success-rgb, 45, 211, 111),.18),rgba(var(--chessimals-primary-rgb),.12))}.chessimals-turn-card.is-finished .chessimals-turn-card__chip{color:var(--ion-color-success, #2dd36f)}.chessimals-turn-card__copy{display:grid;min-width:0;gap:.15rem}.chessimals-turn-card__chip{justify-self:start;border-radius:999px;padding:.2rem .5rem;background:var(--chessimals-panel);color:var(--chessimals-primary);font-size:.62rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.chessimals-turn-card strong{display:block;min-width:0;font-size:clamp(1rem,3.5vw,1.25rem);line-height:1.08;font-weight:950;overflow-wrap:anywhere}.chessimals-turn-card p{display:block;min-width:0;margin:0;color:var(--chessimals-muted);font-size:.78rem;line-height:1.22}.chessimals-player-strip{display:flex;flex:0 0 auto;align-items:center;gap:.45rem;min-width:10rem;max-width:min(17rem,42%);border:1px solid var(--chessimals-border);border-radius:999px;padding:.3rem .55rem .3rem .35rem;background:rgba(var(--ion-color-light-rgb, 244, 245, 248),.72)}:host-context(html.ion-palette-dark) .chessimals-player-strip,:host-context([data-theme=\"dark\"]) .chessimals-player-strip{background:#ffffff0f}.chessimals-player-strip__avatar{display:grid;place-items:center;flex:0 0 1.75rem;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--chessimals-primary);color:var(--chessimals-primary-contrast);font-size:.875rem;line-height:1}.chessimals-player-strip__text{display:grid;min-width:0;gap:.05rem;line-height:1.1}.chessimals-player-strip__text span{color:var(--chessimals-muted);font-size:.58rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.chessimals-player-strip__text strong{overflow:hidden;font-size:.82rem;line-height:1.08;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-player-strip__text small{overflow:hidden;color:var(--chessimals-muted);font-size:.66rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.chessimals-arena{order:4;display:grid;gap:.875rem;align-items:start}.chessimals-howto,.chessimals-tip,.chessimals-result,.chessimals-replay,.chessimals-rematch-status{display:grid;gap:.375rem;padding:1rem;border-radius:1.25rem;background:var(--chessimals-soft)}.chessimals-result{order:5}.chessimals-replay{order:5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;border:1px solid rgba(var(--chessimals-primary-rgb),.2);background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.1),transparent),var(--chessimals-panel)}.chessimals-replay>div:first-child{display:grid;gap:.15rem;min-width:0}.chessimals-replay strong{font-size:1rem;font-weight:950}.chessimals-replay span{color:var(--chessimals-muted);font-size:.86rem;font-weight:800;line-height:1.25}.chessimals-replay__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.chessimals-replay__actions .chessimals-secondary{min-height:2.5rem;padding:0 .8rem}.chessimals-rematch-status{order:5;border:1px solid rgba(var(--chessimals-primary-rgb),.22);background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.12),transparent),var(--chessimals-panel)}.chessimals-rematch-status.is-incoming{border-color:rgba(var(--ion-color-success-rgb, 45, 211, 111),.38);background:linear-gradient(135deg,rgba(var(--ion-color-success-rgb, 45, 211, 111),.14),transparent),var(--chessimals-panel)}.chessimals-rematch-status strong{font-size:1rem;font-weight:950}.chessimals-rematch-status p{margin:0;color:var(--chessimals-muted);font-size:.88rem;line-height:1.35}.chessimals-howto h2,.chessimals-powers h2{margin:0;font-size:1.15rem;font-weight:950}.chessimals-howto p,.chessimals-tip p,.chessimals-powers p{color:var(--chessimals-muted)}.chessimals-learn-more{justify-self:start;min-height:2.75rem;border:0;border-radius:999px;padding:0 1rem;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font:inherit;font-weight:950}.chessimals-size,.chessimals-mode,.chessimals-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.chessimals-status{order:3;grid-template-columns:repeat(3,minmax(0,1fr))}.chessimals-size button,.chessimals-mode button,.chessimals-status div{display:grid;gap:.2rem;align-content:center;min-width:0;min-height:3.875rem;padding:.55rem .65rem;border:1px solid var(--chessimals-border);border-radius:1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;text-align:left}.chessimals-size button.is-selected{border-color:var(--chessimals-primary);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16)}.chessimals-mode button.is-selected{border-color:var(--chessimals-primary);background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.13),transparent),var(--chessimals-panel);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16)}.chessimals-difficulty{display:flex;flex-wrap:wrap;gap:.55rem}.chessimals-difficulty button{min-height:2.75rem;border:1px solid var(--chessimals-border);border-radius:999px;padding:0 1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-weight:950}.chessimals-difficulty button.is-selected{border-color:var(--chessimals-primary);background:var(--chessimals-primary);color:#fff}.chessimals-size strong,.chessimals-mode strong,.chessimals-status strong,.chessimals-result strong,.chessimals-rematch-status strong,.chessimals-tip strong{font-weight:950}.chessimals-status strong{min-width:0;font-size:clamp(.95rem,2.5vw,1.2rem);line-height:1.08;overflow-wrap:anywhere;white-space:normal}.chessimals-size small,.chessimals-mode small,.chessimals-status small{color:var(--chessimals-muted);font-size:.78rem;line-height:1.12}.chessimals-board-wrap{--chessimals-board-radius: min(.85rem, 14px);display:flex;justify-content:center;min-width:0;max-width:100%;overflow-x:auto;width:100%;padding:.25rem 0}.chessimals-board-wrap.is-orienting .chessimals-board-frame{animation:chessimals-orient-board .32s ease}.chessimals-board-wrap.is-finished{overflow-x:visible}.chessimals-board-frame{flex:0 1 58rem;min-width:0;width:100%;max-width:58rem;border-radius:var(--chessimals-board-radius)}.chessimals-board{position:relative;display:grid;grid-template-columns:repeat(var(--board-size),minmax(0,1fr));grid-template-rows:repeat(var(--board-size),minmax(0,1fr));min-width:0;width:100%;aspect-ratio:1 / 1;overflow:hidden;isolation:isolate;contain:paint;border:1px solid var(--chessimals-border);border-radius:var(--chessimals-board-radius);clip-path:inset(0 round var(--chessimals-board-radius));-webkit-mask-image:-webkit-radial-gradient(white,black);background:radial-gradient(ellipse at 16% 18%,rgba(255,255,255,.34),transparent 18%),radial-gradient(ellipse at 82% 78%,rgba(var(--chessimals-primary-rgb),.1),transparent 22%),radial-gradient(ellipse at 32% 68%,rgba(var(--chessimals-stone-rgb),.05),transparent 30%),radial-gradient(ellipse at 66% 34%,rgba(255,255,255,.08),transparent 24%),var(--chessimals-border);box-shadow:inset 0 0 0 1px #ffffff1a,0 .85rem 2.1rem var(--chessimals-board-shadow)}.chessimals-board-wrap.is-syncing .chessimals-board{cursor:wait}.chessimals-cell-coordinate{position:absolute;z-index:5;color:color-mix(in srgb,var(--chessimals-muted) 78%,var(--chessimals-text));font-size:.68rem;font-weight:950;letter-spacing:.02em;line-height:1;pointer-events:none;text-transform:uppercase;-webkit-user-select:none;user-select:none}.chessimals-cell-coordinate--rank{top:.2rem;left:.24rem}.chessimals-cell-coordinate--file{right:.24rem;bottom:.18rem}@keyframes chessimals-orient-board{0%{opacity:.72;filter:blur(.06rem);transform:scale(.985)}52%{opacity:.92;filter:blur(0);transform:scale(1.012)}to{opacity:1;filter:blur(0);transform:scale(1)}}.chessimals-center-line{position:absolute;top:50%;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;border-top:.08rem dashed rgba(var(--chessimals-primary-rgb),.56);filter:drop-shadow(0 0 .24rem rgba(var(--chessimals-primary-rgb),.26));pointer-events:none}.chessimals-power-trail{position:absolute;inset:0;z-index:5;pointer-events:none;--trail-color: rgba(var(--chessimals-selected-rgb), .76);--trail-glow: rgba(var(--chessimals-selected-rgb), .34)}.chessimals-power-trail.is-capture{--trail-color: rgba(var(--chessimals-capture-rgb), .86);--trail-glow: rgba(var(--chessimals-capture-rgb), .46)}.chessimals-power-trail.effect-eagle{--trail-color: rgba(255, 255, 255, .92);--trail-glow: rgba(120, 210, 255, .54)}.chessimals-power-trail.effect-bull{--trail-color: rgba(188, 131, 76, .86);--trail-glow: rgba(188, 131, 76, .36)}.chessimals-power-trail.effect-kangaroo{--trail-color: rgba(174, 124, 255, .86);--trail-glow: rgba(174, 124, 255, .42)}.chessimals-power-trail.effect-lion{--trail-color: rgba(255, 221, 120, .88);--trail-glow: rgba(255, 190, 56, .42)}.chessimals-power-trail>span{position:absolute;top:var(--trail-y);left:var(--trail-x);width:var(--trail-length);height:.45rem;border-radius:999px;background:linear-gradient(90deg,transparent,var(--trail-color) 42%,rgba(255,255,255,.92));box-shadow:0 0 .75rem var(--trail-glow),0 0 1.45rem var(--trail-glow);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0);transform-origin:0 50%;animation:chessimals-power-trail .72s ease-out both}.chessimals-power-trail.effect-eagle>span{height:.28rem;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95) 44%,rgba(120,210,255,.58)),repeating-linear-gradient(90deg,transparent 0 .7rem,rgba(255,255,255,.66) .7rem .92rem);animation-name:chessimals-eagle-trail}.chessimals-power-trail.effect-bull>span{height:.72rem;background:repeating-linear-gradient(90deg,rgba(255,255,255,.42) 0 .18rem,transparent .18rem .42rem),linear-gradient(90deg,transparent,var(--trail-color),rgba(255,255,255,.86));animation-name:chessimals-bull-trail}.chessimals-power-trail.effect-kangaroo>span{height:1rem;border-top:.16rem dashed var(--trail-color);background:transparent;box-shadow:none;filter:drop-shadow(0 0 .8rem var(--trail-glow));animation-name:chessimals-kangaroo-trail}.chessimals-power-trail.effect-lion>span{height:.62rem;background:linear-gradient(90deg,transparent,var(--trail-color),rgba(255,255,255,.82)),repeating-linear-gradient(115deg,rgba(255,255,255,.55) 0 .12rem,transparent .12rem .34rem);animation-name:chessimals-lion-trail}@keyframes chessimals-power-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0)}28%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.72)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}@keyframes chessimals-eagle-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0) skew(-10deg)}30%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.82) skew(-10deg)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1.05) skew(-10deg)}}@keyframes chessimals-bull-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0) scaleY(1)}38%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.7) scaleY(1.18)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1) scaleY(.82)}}@keyframes chessimals-kangaroo-trail{0%{opacity:0;transform:translateY(-.4rem) rotate(var(--trail-angle)) scaleX(0)}34%{opacity:1;transform:translateY(-1.2rem) rotate(var(--trail-angle)) scaleX(.62)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}@keyframes chessimals-lion-trail{0%{opacity:0;filter:saturate(1);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0)}36%{opacity:1;filter:saturate(1.4);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.76)}to{opacity:0;filter:saturate(1.1);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}.chessimals-board-overlay{position:absolute;inset:0;z-index:8;display:grid;place-content:center;gap:.45rem;padding:1.25rem;background:radial-gradient(circle at 50% 36%,rgba(255,226,129,.28),transparent 28%),radial-gradient(circle at 50% 48%,rgba(var(--chessimals-primary-rgb),.3),transparent 44%),#0d0a12c7;color:#fff;text-align:center;backdrop-filter:blur(2px);overflow:hidden}.chessimals-board-overlay:before{position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.5) 0 .08rem,transparent .1rem),radial-gradient(circle at 75% 25%,rgba(255,226,129,.62) 0 .1rem,transparent .12rem),radial-gradient(circle at 68% 72%,rgba(var(--chessimals-capture-rgb),.46) 0 .08rem,transparent .1rem),radial-gradient(circle at 35% 78%,rgba(255,255,255,.42) 0 .07rem,transparent .09rem);content:\"\";opacity:.72;animation:chessimals-victory-sparks 1.5s ease-in-out infinite}.chessimals-board-overlay>*{position:relative;z-index:1}.chessimals-board-overlay span{justify-self:center;border-radius:999px;padding:.32rem .7rem;background:#ffffff26;color:#ffffffe6;font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.chessimals-board-overlay strong{font-size:clamp(1.65rem,8vw,3rem);line-height:1;font-weight:950;text-shadow:0 0 1.25rem rgba(255,255,255,.26)}.chessimals-board-overlay small{color:#ffffffd1;font-size:clamp(.9rem,3vw,1.1rem);font-weight:800}@keyframes chessimals-victory-sparks{0%,to{opacity:.46;transform:translateY(0) scale(.98)}50%{opacity:.95;transform:translateY(-.35rem) scale(1.02)}}.chessimals-cell{position:relative;isolation:isolate;--chessimals-cell-bg: var(--chessimals-cell-light);display:grid;place-items:center;min-width:0;min-height:0;aspect-ratio:1;border:0;background:radial-gradient(ellipse at 24% 22%,rgba(255,255,255,.2),transparent 24%),radial-gradient(ellipse at 78% 76%,rgba(var(--chessimals-stone-rgb),.12),transparent 28%),radial-gradient(ellipse at 38% 64%,rgba(255,255,255,.08),transparent 22%),radial-gradient(ellipse at 64% 42%,rgba(var(--chessimals-stone-rgb),.08),transparent 26%),radial-gradient(circle at 14% 84%,rgba(var(--chessimals-stone-rgb),.05),transparent 18%),var(--chessimals-cell-bg);color:var(--chessimals-text);font:inherit;overflow:hidden;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.chessimals-cell:before,.chessimals-cell:after{pointer-events:none}.chessimals-cell.is-dark-cell{--chessimals-cell-bg: var(--chessimals-cell-dark)}.chessimals-cell.is-selected{z-index:1;background:radial-gradient(circle,rgba(var(--chessimals-selected-rgb),.28) 0 36%,transparent 62%),linear-gradient(135deg,rgba(var(--chessimals-selected-rgb),.22),#ffffff14),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .18rem var(--chessimals-selected),inset 0 0 .55rem #ffffffb8,inset 0 0 1.8rem rgba(var(--chessimals-selected-rgb),.42),0 0 .55rem rgba(var(--chessimals-selected-rgb),.56),0 0 1.55rem rgba(var(--chessimals-selected-rgb),.36)}.chessimals-cell.is-legal:not(.is-capture):after{position:absolute;inset:13%;z-index:2;border:max(2px,1.8%) solid var(--chessimals-move);border-radius:.55rem;content:\"\";opacity:.74;pointer-events:none}.chessimals-cell.is-last:not(.is-selected):not(.is-legal):not(.is-capture){background:radial-gradient(circle,rgba(var(--chessimals-last-rgb),.16) 0 42%,transparent 68%),var(--chessimals-cell-bg)}.chessimals-cell.is-capture{z-index:2;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.24),transparent 34%),linear-gradient(135deg,rgba(var(--chessimals-capture-rgb),.14),#ffffff14),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .14rem rgba(var(--chessimals-capture-rgb),.84),inset 0 0 1.4rem rgba(var(--chessimals-capture-rgb),.24),0 0 .95rem rgba(var(--chessimals-capture-rgb),.34);animation:chessimals-capture-aura 1.35s ease-in-out infinite}.chessimals-cell.is-capture:before{position:absolute;inset:4%;z-index:1;display:block;border-radius:.64rem;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.24),transparent 58%);content:\"\";opacity:0;transform:translate(-42%) scale(.9);animation:chessimals-capture-sweep 1.35s ease-in-out infinite}.chessimals-cell.is-capture:after{position:absolute;inset:8%;z-index:3;border:max(2px,1.55%) solid rgba(var(--chessimals-capture-rgb),.9);border-radius:.62rem;box-shadow:0 0 .75rem rgba(var(--chessimals-capture-rgb),.5),inset 0 0 .72rem #ffffff38;content:\"\";pointer-events:none;animation:chessimals-capture-frame 1.35s ease-in-out infinite}@keyframes chessimals-capture-aura{0%,to{filter:saturate(1);box-shadow:inset 0 0 0 .12rem rgba(var(--chessimals-capture-rgb),.78),inset 0 0 1rem rgba(var(--chessimals-capture-rgb),.2),0 0 .64rem rgba(var(--chessimals-capture-rgb),.32)}50%{filter:saturate(1.22);box-shadow:inset 0 0 0 .16rem rgba(var(--chessimals-capture-rgb),.96),inset 0 0 1.34rem rgba(var(--chessimals-capture-rgb),.34),0 0 1.2rem rgba(var(--chessimals-capture-rgb),.48)}}@keyframes chessimals-capture-sweep{0%{opacity:0;transform:translate(-52%) scale(.88)}42%{opacity:.66;transform:translate(0) scale(1)}to{opacity:0;transform:translate(48%) scale(.92)}}@keyframes chessimals-capture-frame{0%,to{opacity:.68;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}.chessimals-cell.has-source-effect:not(.is-moving-source){background:radial-gradient(circle,rgba(var(--chessimals-selected-rgb),.12) 0 34%,transparent 64%),var(--chessimals-cell-bg)}.chessimals-cell.has-move-effect{z-index:2;background:radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.22) 0 34%,transparent 68%),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .16rem rgba(var(--chessimals-capture-rgb),.86),inset 0 0 1.2rem rgba(var(--chessimals-capture-rgb),.26),0 0 1.1rem rgba(var(--chessimals-capture-rgb),.42)}.chessimals-cell.has-move-effect:before{position:absolute;inset:.12rem;z-index:1;display:block;border-radius:.7rem;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.48),transparent 22%),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.42),transparent 58%);content:\"\";opacity:0;transform:scale(.72);animation:chessimals-power-impact .7s ease-out both}.chessimals-cell.has-move-effect:after{position:absolute;inset:.28rem;z-index:4;display:block;border:.14rem solid rgba(255,255,255,.72);border-radius:.58rem;box-shadow:0 0 .5rem #ffffff5c,0 0 1rem rgba(var(--chessimals-capture-rgb),.32);content:\"\";animation:chessimals-power-frame .86s ease-out both}.chessimals-cell.has-capture-effect{animation:chessimals-capture-hit .78s ease-out both}.chessimals-cell.effect-eagle:before{background:linear-gradient(135deg,transparent 10%,rgba(255,255,255,.78) 48%,transparent 52%),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.36),transparent 62%)}.chessimals-cell.effect-bull:before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.34) 0 .16rem,transparent .16rem .34rem),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.38),transparent 62%)}.chessimals-cell.effect-kangaroo:before{border-radius:999px;background:radial-gradient(circle at 42% 44%,rgba(255,255,255,.58),transparent 18%),radial-gradient(circle at 58% 56%,rgba(var(--chessimals-capture-rgb),.4),transparent 64%)}.chessimals-cell.effect-lion:before{background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.56),transparent,rgba(var(--chessimals-capture-rgb),.4),transparent),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.34),transparent 62%)}@keyframes chessimals-power-impact{0%{opacity:0;transform:scale(.54) rotate(0)}28%{opacity:1;transform:scale(.96) rotate(2deg)}to{opacity:0;transform:scale(1.3) rotate(8deg)}}@keyframes chessimals-power-frame{0%{opacity:0;transform:scale(.84)}34%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(1.16)}}@keyframes chessimals-capture-hit{0%,to{filter:saturate(1)}35%{filter:saturate(1.35) brightness(1.08)}}.chessimals-cell.is-moving-source .chessimals-piece{opacity:0}.chessimals-piece{position:relative;z-index:2;display:block;width:68%;height:74%;color:var(--chessimals-primary);--chessimals-piece-fill: var(--chessimals-piece-white-fill);--chessimals-piece-side: var(--chessimals-piece-white-side);--chessimals-piece-line: var(--chessimals-piece-white-line);--chessimals-piece-outline: rgba(82, 65, 46, .24);filter:var(--chessimals-piece-white-shadow)}.chessimals-piece.is-black{color:#fff;--chessimals-piece-fill: var(--chessimals-piece-black-fill);--chessimals-piece-side: var(--chessimals-piece-black-side);--chessimals-piece-line: var(--chessimals-piece-black-line);--chessimals-piece-outline: rgba(255, 255, 255, .16);filter:var(--chessimals-piece-black-shadow)}.chessimals-moving-piece{position:absolute;top:0;left:0;z-index:6;width:calc(100% / var(--board-size));height:calc(100% / var(--board-size));display:grid;place-items:center;pointer-events:none;transform:translate(calc(var(--from-col) * 100%),calc(var(--from-row) * 100%));animation:chessimals-piece-travel .36s cubic-bezier(.2,.82,.24,1) both}@keyframes chessimals-piece-travel{0%{transform:translate(calc(var(--from-col) * 100%),calc(var(--from-row) * 100%)) scale(1)}68%{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%)) scale(1.07)}to{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%)) scale(1)}}.chessimals-piece__side,.chessimals-piece__head,.chessimals-piece__collar,.chessimals-piece__neck,.chessimals-piece__base{position:absolute;display:block;left:50%;background:var(--chessimals-piece-fill);border:max(1px,1.25%) solid var(--chessimals-piece-outline);transform:translate(-50%)}.chessimals-piece__side{top:46%;z-index:0;width:58%;height:41%;border-radius:34% 34% 12% 12%;background:linear-gradient(96deg,var(--chessimals-piece-side) 0 34%,transparent 35%),var(--chessimals-piece-fill);clip-path:polygon(22% 0,78% 0,96% 100%,4% 100%);opacity:.92}.chessimals-piece__head{top:1%;z-index:4;width:48%;height:40%;border-radius:999px;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.72) 0 13%,transparent 14%),linear-gradient(135deg,rgba(255,255,255,.28) 0 34%,transparent 35%),var(--chessimals-piece-fill);box-shadow:inset -.18rem -.12rem #52412e0f,inset 0 -1px 0 var(--chessimals-piece-line)}.chessimals-piece.is-black .chessimals-piece__head{box-shadow:inset .18rem -.12rem #ffffff0f,inset 0 -1px 0 var(--chessimals-piece-line)}.chessimals-piece__collar{top:37%;z-index:5;width:72%;height:15%;border-radius:999px;background:linear-gradient(180deg,#f5cd77 0%,var(--chessimals-piece-gold) 55%,var(--chessimals-piece-gold-dark) 100%);border-color:color-mix(in srgb,var(--chessimals-piece-gold-dark) 72%,transparent);box-shadow:inset 0 .12rem #ffffff47,inset 0 -.08rem #462e1238,0 .08rem .18rem #462e1224}.chessimals-piece__neck{top:50%;z-index:2;width:52%;height:31%;clip-path:polygon(16% 0,84% 0,100% 100%,0 100%);background:linear-gradient(100deg,var(--chessimals-piece-side) 0 28%,transparent 29%),linear-gradient(180deg,var(--chessimals-piece-fill),color-mix(in srgb,var(--chessimals-piece-fill) 78%,var(--chessimals-piece-side)));box-shadow:inset -.12rem .1rem #ffffff14}.chessimals-piece__base{bottom:0;z-index:6;width:86%;height:17%;border-radius:.42rem .42rem .22rem .22rem;background:linear-gradient(100deg,var(--chessimals-piece-side) 0 18%,transparent 19%),linear-gradient(180deg,color-mix(in srgb,var(--chessimals-piece-fill) 92%,#ffffff),var(--chessimals-piece-fill));box-shadow:inset 0 .12rem #ffffff24,inset 0 -.1rem 0 var(--chessimals-piece-line)}.chessimals-target{width:16%;height:16%;border-radius:999px;background:var(--chessimals-move);opacity:.9;box-shadow:0 0 .9rem rgba(var(--chessimals-move-rgb),.42)}.chessimals-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.625rem}.chessimals-cards button{display:grid;gap:.375rem;place-items:center;min-height:5.75rem;padding:.625rem;border:1px solid var(--chessimals-border);border-radius:1.125rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.chessimals-powers__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chessimals-powers p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.chessimals-powers__heading span{flex:0 0 auto;border-radius:999px;padding:.28rem .62rem;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font-size:.78rem;font-weight:950}.chessimals-cards button.is-selected{border-color:var(--chessimals-primary);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16),0 .9rem 2rem rgba(var(--chessimals-primary-rgb),.13);transform:translateY(-1px)}.chessimals-cards button.is-used{opacity:.42}.chessimals-animal-face{display:grid;place-items:center;width:3.25rem;height:3.25rem;padding:.34rem;overflow:hidden;border-radius:1.2rem;background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.82),transparent 55%),var(--chessimals-animal-face-bg);color:color-mix(in srgb,var(--chessimals-text) 92%,#000);box-shadow:inset 0 0 0 1px var(--chessimals-animal-face-border),0 .45rem 1.15rem #2e3a2c1a}.chessimals-animal-face img{display:block;width:100%;height:100%;object-fit:contain;border-radius:.72rem;background:var(--chessimals-animal-face-inner-bg);box-shadow:inset 0 0 0 1px #2e3a2c14;transform:none;filter:var(--chessimals-animal-face-filter)}.chessimals-cards button.is-selected .chessimals-animal-face,.chessimals-powers.is-ready .chessimals-cards button:not(.is-used) .chessimals-animal-face{background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.82),transparent 55%),var(--chessimals-animal-face-bg);color:color-mix(in srgb,var(--chessimals-text) 94%,#000);box-shadow:inset 0 0 0 1px #2e3a2c24,0 .75rem 1.6rem rgba(var(--chessimals-selected-rgb),.18)}.chessimals-powers.is-locked .chessimals-animal-face{filter:var(--chessimals-animal-face-locked-filter);opacity:.86}.chessimals-powers.is-locked .chessimals-animal-face img,.chessimals-cards button.is-used .chessimals-animal-face img{opacity:var(--chessimals-animal-face-locked-img-opacity)}.chessimals-cards strong{overflow:hidden;max-width:100%;font-size:.82rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-powers.is-locked .chessimals-cards{opacity:.68}.chessimals-powers.is-ready{border-color:rgba(var(--chessimals-primary-rgb),.42);box-shadow:0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}.chessimals-powers.is-ready .chessimals-cards button:not(.is-used){animation:chessimalsPowerPulse 1.8s ease-in-out infinite}.chessimals-powers.is-unlock-pulse{animation:chessimalsPowersUnlocked 1.18s ease-out both}.chessimals-powers.is-unlock-pulse .chessimals-cards button:not(.is-used){animation:chessimalsPowerIgnite .76s ease-out both,chessimalsPowerPulse 1.8s ease-in-out .76s infinite}@keyframes chessimalsPowerPulse{0%,to{box-shadow:0 0 rgba(var(--chessimals-primary-rgb),0)}50%{box-shadow:0 0 1.4rem rgba(var(--chessimals-primary-rgb),.22)}}@keyframes chessimalsPowersUnlocked{0%{box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}34%{box-shadow:0 0 0 .18rem rgba(var(--chessimals-selected-rgb),.24),0 0 2.2rem rgba(var(--chessimals-selected-rgb),.34),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.16)}to{box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}}@keyframes chessimalsPowerIgnite{0%{transform:translateY(0) scale(.96);box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0)}42%{transform:translateY(-.08rem) scale(1.025);box-shadow:0 0 0 .14rem rgba(var(--chessimals-selected-rgb),.2),0 0 1.5rem rgba(var(--chessimals-selected-rgb),.42)}to{transform:translateY(0) scale(1);box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0)}}.chessimals-actions{order:6;align-self:stretch;justify-self:stretch;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.625rem;margin-top:1rem}.chessimals-shell--projection .chessimals-game{max-width:min(96vw,90rem)}.chessimals-shell--projection .chessimals-turn-card{padding:.875rem 1rem}.chessimals-shell--projection .chessimals-status,.chessimals-shell--projection .chessimals-actions,.chessimals-shell--projection .chessimals-online,.chessimals-shell--projection .chessimals-replay,.chessimals-shell--projection .chessimals-rematch-status{display:none}.chessimals-shell--projection .chessimals-arena{grid-template-columns:minmax(0,1fr);justify-items:center}.chessimals-shell--projection .chessimals-board-wrap{--chessimals-board-radius: min(.625rem, 10px);width:min(96vw,82vh,58rem);max-width:none}.chessimals-shell--projection .chessimals-board-frame{flex-basis:auto;max-width:none}@media (min-width: 760px){.chessimals-game{gap:1rem}.chessimals-turn-card,.chessimals-status,.chessimals-arena,.chessimals-replay,.chessimals-result,.chessimals-actions{grid-column:1 / -1}.chessimals-arena{grid-template-columns:minmax(0,1fr);justify-items:center;align-items:start;gap:1rem}.chessimals-powers{width:min(100%,44rem);align-content:center;grid-template-columns:minmax(11rem,.68fr) minmax(0,1fr);align-items:center;gap:1rem;padding:1rem}.chessimals-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.chessimals-cards button{min-height:5rem}.chessimals-powers p{-webkit-line-clamp:3}}.chessimals-rules{display:grid;gap:1rem;padding-top:.25rem}.chessimals-rules__hero{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:1.35rem;border:1px solid rgba(var(--chessimals-primary-rgb),.18);box-shadow:0 1rem 2.25rem #2e3a2c1f}.chessimals-rules article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;padding:1rem;border:1px solid var(--ion-border-color, #e7e4ea);border-radius:1.25rem;background:var(--ion-card-background, #fff);color:var(--ion-text-color, #2f2a3a)}.chessimals-rules article>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font-weight:950}.chessimals-rules article>div{display:grid;min-width:0;gap:.45rem}.chessimals-rules h3,.chessimals-rules p,.chessimals-rules ul{margin:0}.chessimals-rules h3{font-size:1rem;font-weight:950;line-height:1.2}.chessimals-rules p,.chessimals-rules li{color:var(--ion-color-medium, #6f6a7a);line-height:1.5}.chessimals-rules ul{display:grid;gap:.45rem;padding-left:1.15rem}.chessimals-rules__closing{display:grid;place-items:center;justify-self:center;width:min(12rem,62%);padding:.65rem;border-radius:1.25rem;background:color-mix(in srgb,var(--chessimals-surface) 86%,#ffffff 14%);border:1px solid rgba(var(--chessimals-primary-rgb),.14);box-shadow:0 .75rem 1.75rem #2e3a2c1a}.chessimals-rules__closing img{display:block;width:100%;border-radius:.85rem;object-fit:contain}.chessimals-primary,.chessimals-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.625rem;border-radius:999px;font:inherit;font-weight:950}.chessimals-primary{border:0;background:var(--chessimals-primary);color:var(--chessimals-primary-contrast);box-shadow:0 1.125rem 2.8rem rgba(var(--chessimals-primary-rgb),.28)}.chessimals-secondary{border:1px solid var(--chessimals-border);background:transparent;color:var(--chessimals-text)}.chessimals-primary.is-working,.chessimals-secondary.is-working{cursor:wait;opacity:.82}.chessimals-button-spinner{width:1rem;height:1rem;flex:0 0 auto;border:.14rem solid currentColor;border-right-color:transparent;border-radius:999px;animation:chessimals-spin .72s linear infinite}@media (max-width: 560px){.chessimals-size,.chessimals-mode,.chessimals-actions{grid-template-columns:1fr}.chessimals-game{gap:.55rem;border-radius:1.25rem;padding:.625rem}.chessimals-turn-card{flex-direction:column;align-items:stretch;gap:.45rem;min-height:0;border-radius:.95rem;padding:.55rem}.chessimals-turn-card__chip{padding:.18rem .5rem;font-size:.6rem;letter-spacing:.045em;white-space:nowrap}.chessimals-turn-card strong{font-size:clamp(.98rem,5vw,1.25rem);line-height:1.08}.chessimals-turn-card p{font-size:.76rem;line-height:1.2}.chessimals-player-strip{width:100%;max-width:none;min-width:0}.chessimals-status{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.chessimals-status div{gap:.2rem;min-height:2.5rem;border-radius:.95rem;padding:.4rem .35rem}.chessimals-status small{font-size:.66rem;line-height:1.05}.chessimals-status strong{font-size:clamp(.86rem,3.4vw,1rem);line-height:1.05}.chessimals-tip,.chessimals-result,.chessimals-replay{gap:.2rem;border-radius:1rem;padding:.7rem .75rem}.chessimals-tip strong,.chessimals-result strong,.chessimals-replay strong{font-size:.95rem}.chessimals-tip p,.chessimals-result p{font-size:.9rem;line-height:1.28}.chessimals-replay{grid-template-columns:1fr}.chessimals-replay__actions{justify-content:stretch}.chessimals-replay__actions .chessimals-secondary{flex:1 1 8rem}.chessimals-arena{gap:.5rem}.chessimals-board-wrap{width:100%;margin-inline:0;padding:0}.chessimals-board-frame{width:100%}.chessimals-powers{gap:.5rem;border-radius:1rem;padding:.65rem}.chessimals-powers__heading{gap:.4rem}.chessimals-powers h2{font-size:1rem}.chessimals-powers__heading span{padding:.22rem .48rem;font-size:.68rem}.chessimals-powers p{font-size:.78rem;line-height:1.2;-webkit-line-clamp:1}.chessimals-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.chessimals-cards button{gap:.25rem;min-height:4.25rem;border-radius:.85rem;padding:.4rem .25rem}.chessimals-animal-face{width:2.35rem;height:2.35rem;padding:.26rem;border-radius:.85rem}.chessimals-animal-face img{border-radius:.55rem}.chessimals-cards strong{font-size:.66rem}.chessimals-board{border-radius:var(--chessimals-board-radius)}.chessimals-cell-coordinate{font-size:.58rem}}@media (prefers-reduced-motion: reduce){.chessimals-cell.is-capture,.chessimals-cell.is-capture:before,.chessimals-cell.is-capture:after,.chessimals-cell.has-move-effect,.chessimals-cell.has-move-effect:before,.chessimals-cell.has-move-effect:after,.chessimals-cell.has-capture-effect,.chessimals-moving-piece{animation:none!important}.chessimals-moving-piece{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%))}}\n"], dependencies: [{ kind: "component", type: IonModal, selector: "ion-modal" }, { kind: "component", type: ModalLayoutComponent, selector: "val-modal-layout", inputs: ["title", "subtitle", "closeLabel", "showClose", "actions", "actionsAlign", "footer", "footerClass"], outputs: ["close", "actionClick"] }, { kind: "component", type: UserAvatarComponent, selector: "val-user-avatar", inputs: ["props"], outputs: ["onClick"] }] }); }
64866
65093
  }
64867
65094
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChessimalsGameComponent, decorators: [{
64868
65095
  type: Component,
@@ -65145,13 +65372,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
65145
65372
  [class.is-finished]="game().status === 'finished'"
65146
65373
  [class.is-orienting]="isBoardOrienting()"
65147
65374
  [class.is-syncing]="moveSyncing()"
65148
- [style.--board-size]="game().boardSize"
65375
+ [style.--board-size]="reviewGame().boardSize"
65149
65376
  >
65150
65377
  <div class="chessimals-board-frame">
65151
65378
  <div
65152
65379
  class="chessimals-board"
65153
65380
  role="grid"
65154
- [class.is-black-view]="game().currentTurn === 'black'"
65381
+ [class.is-black-view]="reviewGame().currentTurn === 'black'"
65155
65382
  [attr.aria-label]="t('chessimalsBoard')"
65156
65383
  >
65157
65384
  @for (row of displayRows(); track row) {
@@ -65240,7 +65467,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
65240
65467
  </span>
65241
65468
  </span>
65242
65469
  }
65243
- @if (game().status === 'finished') {
65470
+ @if (game().status === 'finished' && !hasReplayControls()) {
65244
65471
  <div class="chessimals-board-overlay" aria-hidden="true">
65245
65472
  <span>{{ t('chessimalsGameOver') }}</span>
65246
65473
  <strong>{{ winTitle() }}</strong>
@@ -65285,6 +65512,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
65285
65512
  }
65286
65513
  </section>
65287
65514
 
65515
+ @if (hasReplayControls()) {
65516
+ <article class="chessimals-replay" aria-live="polite">
65517
+ <div>
65518
+ <strong>{{ t('chessimalsReplayTitle') }}</strong>
65519
+ <span>{{ replayPositionLabel() }}</span>
65520
+ </div>
65521
+ <div class="chessimals-replay__actions">
65522
+ <button
65523
+ class="chessimals-secondary"
65524
+ type="button"
65525
+ [disabled]="!canReviewPrevious()"
65526
+ (click)="reviewPreviousMove()"
65527
+ >
65528
+ {{ t('chessimalsReplayPrevious') }}
65529
+ </button>
65530
+ <button
65531
+ class="chessimals-secondary"
65532
+ type="button"
65533
+ [disabled]="!canReviewNext()"
65534
+ (click)="reviewNextMove()"
65535
+ >
65536
+ {{ t('chessimalsReplayNext') }}
65537
+ </button>
65538
+ </div>
65539
+ </article>
65540
+ }
65541
+
65288
65542
  @if (game().status === 'finished') {
65289
65543
  <article class="chessimals-result">
65290
65544
  <strong>{{ winTitle() }}</strong>
@@ -65446,7 +65700,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
65446
65700
  />
65447
65701
  </ng-template>
65448
65702
  </ion-modal>
65449
- `, styles: [":host{display:block}.chessimals-shell{--chessimals-panel: #ffffff;--chessimals-surface: #fffaf1;--chessimals-border: rgba(46, 58, 44, .18);--chessimals-text: #2e3a2c;--chessimals-muted: #51643d;--chessimals-soft: rgba(111, 122, 60, .1);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-selected: #37f28a;--chessimals-selected-rgb: 55, 242, 138;--chessimals-move: var(--chessimals-sky);--chessimals-move-rgb: var(--chessimals-sky-rgb);--chessimals-capture: #1fcdb3;--chessimals-capture-rgb: 31, 205, 179;--chessimals-last: #8c6b4f;--chessimals-last-rgb: 140, 107, 79;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(46, 58, 44, .14);--chessimals-piece-white-fill: #ffffff;--chessimals-piece-white-side: #f3eadb;--chessimals-piece-white-line: rgba(82, 65, 46, .12);--chessimals-piece-white-shadow: drop-shadow(0 0 1px rgba(84, 62, 34, .26)) drop-shadow(0 2px 3px rgba(84, 62, 34, .14));--chessimals-piece-black-fill: #242936;--chessimals-piece-black-side: #171b25;--chessimals-piece-black-line: rgba(255, 255, 255, .1);--chessimals-piece-black-shadow: drop-shadow(0 0 1px rgba(255, 255, 255, .14)) drop-shadow(0 2px 3px rgba(0, 0, 0, .24));--chessimals-piece-gold: #c79a42;--chessimals-piece-gold-dark: #8a5f22;--chessimals-animal-face-bg: #fffdf7;--chessimals-animal-face-inner-bg: #ffffff;--chessimals-animal-face-border: rgba(46, 58, 44, .12);--chessimals-animal-face-filter: drop-shadow(0 .12rem .16rem rgba(46, 58, 44, .18));--chessimals-animal-face-locked-filter: grayscale(.2) saturate(.72);--chessimals-animal-face-locked-img-opacity: .72;display:grid;gap:1.125rem;width:100%;max-width:min(100%,60rem);margin:0 auto;color:var(--chessimals-text)}@media (prefers-color-scheme: dark){.chessimals-shell{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(242, 230, 213, .2);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1;--chessimals-soft: rgba(111, 122, 60, .22);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(0, 0, 0, .34);--chessimals-animal-face-border: rgba(242, 230, 213, .24)}}.chessimals-resume-splash{order:0;position:fixed;inset:0;z-index:1000;display:grid;place-items:center;align-content:center;gap:.65rem;padding:1.5rem;text-align:center;color:var(--chessimals-text);background:radial-gradient(circle at 50% 42%,rgba(var(--chessimals-primary-rgb),.18),transparent 22rem),color-mix(in srgb,var(--chessimals-panel) 92%,transparent);backdrop-filter:blur(.9rem)}.chessimals-resume-splash__paw{display:grid;place-items:center;width:clamp(4.6rem,16vw,5.6rem);height:clamp(4.6rem,16vw,5.6rem);border-radius:1.55rem;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.96),transparent 34%),linear-gradient(145deg,#fffffff5,rgba(var(--chessimals-secondary-rgb),.22)),color-mix(in srgb,var(--chessimals-panel) 82%,white);border:.12rem solid rgba(var(--chessimals-primary-rgb),.22);box-shadow:0 1.15rem 2.6rem rgba(var(--ion-color-dark-rgb, 47, 42, 58),.16),0 0 0 .42rem #ffffff6b,inset 0 -.25rem .6rem rgba(var(--chessimals-primary-rgb),.08);animation:chessimals-resume-pulse 1.2s ease-in-out infinite;font-size:clamp(2.45rem,9vw,3.35rem);line-height:1;filter:drop-shadow(0 .28rem .38rem rgba(var(--ion-color-dark-rgb, 47, 42, 58),.18))}.chessimals-resume-splash strong{font-size:clamp(1.55rem,5vw,2.4rem);font-weight:950;line-height:1.05}.chessimals-resume-splash p{max-width:24rem;margin:0;color:var(--chessimals-muted);font-size:1rem;line-height:1.35}@keyframes chessimals-resume-pulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-.25rem) scale(1.04)}}@keyframes chessimals-spin{to{transform:rotate(360deg)}}:host-context(html.ion-palette-dark) .chessimals-shell,:host-context([data-theme=\"dark\"]) .chessimals-shell{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(246, 227, 213, .22);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1;--chessimals-soft: rgba(111, 122, 60, .22);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(0, 0, 0, .34);--chessimals-capture: #66f2d7;--chessimals-capture-rgb: 102, 242, 215;--chessimals-last: #cdbe9b;--chessimals-last-rgb: 205, 190, 155;--chessimals-piece-white-fill: #fffaff;--chessimals-piece-white-side: #f0e5d4;--chessimals-piece-white-line: rgba(82, 65, 46, .12);--chessimals-piece-white-shadow: drop-shadow(0 0 1px rgba(84, 62, 34, .24)) drop-shadow(0 2px 3px rgba(0, 0, 0, .2));--chessimals-piece-black-fill: #202633;--chessimals-piece-black-side: #111620;--chessimals-piece-black-line: rgba(255, 255, 255, .12);--chessimals-piece-black-shadow: drop-shadow(0 0 1px rgba(255, 255, 255, .34)) drop-shadow(0 3px 4px rgba(0, 0, 0, .44));--chessimals-animal-face-bg: #fffdf7;--chessimals-animal-face-inner-bg: #ffffff;--chessimals-animal-face-border: rgba(242, 230, 213, .24);--chessimals-animal-face-filter: drop-shadow(0 .12rem .16rem rgba(0, 0, 0, .22));--chessimals-animal-face-locked-filter: grayscale(.32) saturate(.72);--chessimals-animal-face-locked-img-opacity: .58}.chessimals-hero{display:grid;gap:.75rem;justify-items:center;overflow:hidden;border-radius:1.75rem;padding:clamp(1.25rem,5vw,2.5rem);background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.92),transparent 20%),linear-gradient(135deg,#fdf8ee,#fff 40%,#edf3df);color:var(--chessimals-text);text-align:center;border:1px solid var(--chessimals-border)}.chessimals-hero__logo{display:grid;place-items:center;width:min(22rem,82vw);max-width:100%;padding:.5rem;border-radius:1.35rem;background:#fff;box-shadow:0 1rem 2.5rem #2e3a2c1a,inset 0 0 0 1px #2e3a2c14}.chessimals-hero__logo img{display:block;width:100%;height:auto;max-height:12rem;object-fit:contain;border-radius:1rem}.chessimals-hero h1{margin:0;font-size:clamp(2.4rem,9vw,4.5rem);line-height:.95;font-weight:950}.chessimals-hero p,.chessimals-howto p,.chessimals-tip p,.chessimals-result p,.chessimals-powers p{margin:0;line-height:1.45}.chessimals-panel,.chessimals-game,.chessimals-powers{display:grid;gap:1rem;border:1px solid var(--chessimals-border);border-radius:1.625rem;padding:clamp(1rem,4vw,1.5rem);background:var(--chessimals-panel)}.chessimals-online{display:grid;gap:.875rem;border:1px solid var(--chessimals-border);border-radius:1.375rem;padding:1rem;background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.08),transparent),var(--chessimals-panel)}.chessimals-online--waiting{order:2;border-color:rgba(var(--chessimals-primary-rgb),.34)}.chessimals-online h2,.chessimals-online p{margin:0}.chessimals-online h2{font-size:1.1rem;font-weight:950}.chessimals-online p{color:var(--chessimals-muted);line-height:1.4}.chessimals-online__create,.chessimals-online__join{display:grid;gap:.55rem}.chessimals-online__create small{color:var(--chessimals-muted);font-weight:800;line-height:1.35}.chessimals-online__join{border-top:1px solid var(--chessimals-border);padding-top:.85rem}.chessimals-online__join>strong{font-size:.95rem;font-weight:950}.chessimals-online__error{border-radius:.875rem;padding:.7rem .8rem;background:rgba(var(--ion-color-danger-rgb, 235, 68, 90),.12);color:var(--ion-color-danger, #eb445a)!important;font-weight:800}.chessimals-online__loading{display:flex;align-items:center;gap:.625rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);border-radius:999px;padding:.65rem .85rem;background:rgba(var(--chessimals-primary-rgb),.08);color:var(--chessimals-text);font-size:.92rem;font-weight:900}.chessimals-online__loading span{width:1rem;height:1rem;border:.15rem solid rgba(var(--chessimals-primary-rgb),.24);border-top-color:var(--chessimals-primary);border-radius:999px;animation:chessimals-spin .75s linear infinite}.chessimals-online-code{display:grid;gap:.4rem;font-weight:950}.chessimals-online-code input{width:100%;min-height:3.3rem;border:1px solid var(--chessimals-border);border-radius:999px;padding:0 1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.chessimals-game-code{display:grid;gap:.2rem;border-radius:1rem;padding:.85rem 1rem;background:var(--chessimals-soft)}.chessimals-game-code small{color:var(--chessimals-muted);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.chessimals-game-code strong{font-size:clamp(1.35rem,6vw,2rem);font-weight:950;letter-spacing:.05em}.chessimals-online-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.chessimals-history{gap:.75rem}.chessimals-history__heading{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.chessimals-history__list{display:grid;gap:.5rem}.chessimals-history__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;border:1px solid var(--chessimals-border);border-radius:1rem;padding:.7rem .8rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;text-align:left}.chessimals-history__item span{display:grid;gap:.1rem;min-width:0}.chessimals-history__item strong{font-weight:950;letter-spacing:.04em}.chessimals-history__item small{overflow:hidden;color:var(--chessimals-muted);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.chessimals-history__item em{flex:0 0 auto;color:var(--chessimals-primary);font-size:.86rem;font-style:normal;font-weight:950}.chessimals-pending-player{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);border-radius:1rem;padding:.75rem;background:var(--chessimals-soft)}.chessimals-pending-player div{display:grid;gap:.1rem;min-width:0}.chessimals-pending-player small{color:var(--chessimals-muted);font-size:.72rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.chessimals-pending-player strong{overflow:hidden;font-size:1.05rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-game{display:grid;gap:.875rem}.chessimals-turn-card{order:1;display:flex;align-items:center;justify-content:space-between;gap:.625rem;min-height:3.75rem;overflow:visible;border:1px solid rgba(var(--chessimals-primary-rgb),.24);border-radius:1rem;padding:.55rem .65rem;background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.34),transparent 18%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.2),rgba(var(--chessimals-secondary-rgb),.1))}.chessimals-turn-card.is-black-turn{border-color:rgba(var(--ion-color-dark-rgb, 47, 42, 58),.28);background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.12),transparent 18%),linear-gradient(135deg,rgba(var(--ion-color-dark-rgb, 47, 42, 58),.14),rgba(var(--chessimals-primary-rgb),.1))}.chessimals-turn-card.is-finished{border-color:rgba(var(--ion-color-success-rgb, 45, 211, 111),.42);background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.35),transparent 18%),linear-gradient(135deg,rgba(var(--ion-color-success-rgb, 45, 211, 111),.18),rgba(var(--chessimals-primary-rgb),.12))}.chessimals-turn-card.is-finished .chessimals-turn-card__chip{color:var(--ion-color-success, #2dd36f)}.chessimals-turn-card__copy{display:grid;min-width:0;gap:.15rem}.chessimals-turn-card__chip{justify-self:start;border-radius:999px;padding:.2rem .5rem;background:var(--chessimals-panel);color:var(--chessimals-primary);font-size:.62rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.chessimals-turn-card strong{display:block;min-width:0;font-size:clamp(1rem,3.5vw,1.25rem);line-height:1.08;font-weight:950;overflow-wrap:anywhere}.chessimals-turn-card p{display:block;min-width:0;margin:0;color:var(--chessimals-muted);font-size:.78rem;line-height:1.22}.chessimals-player-strip{display:flex;flex:0 0 auto;align-items:center;gap:.45rem;min-width:10rem;max-width:min(17rem,42%);border:1px solid var(--chessimals-border);border-radius:999px;padding:.3rem .55rem .3rem .35rem;background:rgba(var(--ion-color-light-rgb, 244, 245, 248),.72)}:host-context(html.ion-palette-dark) .chessimals-player-strip,:host-context([data-theme=\"dark\"]) .chessimals-player-strip{background:#ffffff0f}.chessimals-player-strip__avatar{display:grid;place-items:center;flex:0 0 1.75rem;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--chessimals-primary);color:var(--chessimals-primary-contrast);font-size:.875rem;line-height:1}.chessimals-player-strip__text{display:grid;min-width:0;gap:.05rem;line-height:1.1}.chessimals-player-strip__text span{color:var(--chessimals-muted);font-size:.58rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.chessimals-player-strip__text strong{overflow:hidden;font-size:.82rem;line-height:1.08;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-player-strip__text small{overflow:hidden;color:var(--chessimals-muted);font-size:.66rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.chessimals-arena{order:4;display:grid;gap:.875rem;align-items:start}.chessimals-howto,.chessimals-tip,.chessimals-result,.chessimals-rematch-status{display:grid;gap:.375rem;padding:1rem;border-radius:1.25rem;background:var(--chessimals-soft)}.chessimals-result{order:5}.chessimals-rematch-status{order:5;border:1px solid rgba(var(--chessimals-primary-rgb),.22);background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.12),transparent),var(--chessimals-panel)}.chessimals-rematch-status.is-incoming{border-color:rgba(var(--ion-color-success-rgb, 45, 211, 111),.38);background:linear-gradient(135deg,rgba(var(--ion-color-success-rgb, 45, 211, 111),.14),transparent),var(--chessimals-panel)}.chessimals-rematch-status strong{font-size:1rem;font-weight:950}.chessimals-rematch-status p{margin:0;color:var(--chessimals-muted);font-size:.88rem;line-height:1.35}.chessimals-howto h2,.chessimals-powers h2{margin:0;font-size:1.15rem;font-weight:950}.chessimals-howto p,.chessimals-tip p,.chessimals-powers p{color:var(--chessimals-muted)}.chessimals-learn-more{justify-self:start;min-height:2.75rem;border:0;border-radius:999px;padding:0 1rem;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font:inherit;font-weight:950}.chessimals-size,.chessimals-mode,.chessimals-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.chessimals-status{order:3;grid-template-columns:repeat(3,minmax(0,1fr))}.chessimals-size button,.chessimals-mode button,.chessimals-status div{display:grid;gap:.2rem;align-content:center;min-width:0;min-height:3.875rem;padding:.55rem .65rem;border:1px solid var(--chessimals-border);border-radius:1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;text-align:left}.chessimals-size button.is-selected{border-color:var(--chessimals-primary);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16)}.chessimals-mode button.is-selected{border-color:var(--chessimals-primary);background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.13),transparent),var(--chessimals-panel);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16)}.chessimals-difficulty{display:flex;flex-wrap:wrap;gap:.55rem}.chessimals-difficulty button{min-height:2.75rem;border:1px solid var(--chessimals-border);border-radius:999px;padding:0 1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-weight:950}.chessimals-difficulty button.is-selected{border-color:var(--chessimals-primary);background:var(--chessimals-primary);color:#fff}.chessimals-size strong,.chessimals-mode strong,.chessimals-status strong,.chessimals-result strong,.chessimals-rematch-status strong,.chessimals-tip strong{font-weight:950}.chessimals-status strong{min-width:0;font-size:clamp(.95rem,2.5vw,1.2rem);line-height:1.08;overflow-wrap:anywhere;white-space:normal}.chessimals-size small,.chessimals-mode small,.chessimals-status small{color:var(--chessimals-muted);font-size:.78rem;line-height:1.12}.chessimals-board-wrap{--chessimals-board-radius: min(.85rem, 14px);display:flex;justify-content:center;min-width:0;max-width:100%;overflow-x:auto;width:100%;padding:.25rem 0}.chessimals-board-wrap.is-orienting .chessimals-board-frame{animation:chessimals-orient-board .32s ease}.chessimals-board-wrap.is-finished{overflow-x:visible}.chessimals-board-frame{flex:0 1 58rem;min-width:0;width:100%;max-width:58rem;border-radius:var(--chessimals-board-radius)}.chessimals-board{position:relative;display:grid;grid-template-columns:repeat(var(--board-size),minmax(0,1fr));grid-template-rows:repeat(var(--board-size),minmax(0,1fr));min-width:0;width:100%;aspect-ratio:1 / 1;overflow:hidden;isolation:isolate;contain:paint;border:1px solid var(--chessimals-border);border-radius:var(--chessimals-board-radius);clip-path:inset(0 round var(--chessimals-board-radius));-webkit-mask-image:-webkit-radial-gradient(white,black);background:radial-gradient(ellipse at 16% 18%,rgba(255,255,255,.34),transparent 18%),radial-gradient(ellipse at 82% 78%,rgba(var(--chessimals-primary-rgb),.1),transparent 22%),radial-gradient(ellipse at 32% 68%,rgba(var(--chessimals-stone-rgb),.05),transparent 30%),radial-gradient(ellipse at 66% 34%,rgba(255,255,255,.08),transparent 24%),var(--chessimals-border);box-shadow:inset 0 0 0 1px #ffffff1a,0 .85rem 2.1rem var(--chessimals-board-shadow)}.chessimals-board-wrap.is-syncing .chessimals-board{cursor:wait}.chessimals-cell-coordinate{position:absolute;z-index:5;color:color-mix(in srgb,var(--chessimals-muted) 78%,var(--chessimals-text));font-size:.68rem;font-weight:950;letter-spacing:.02em;line-height:1;pointer-events:none;text-transform:uppercase;-webkit-user-select:none;user-select:none}.chessimals-cell-coordinate--rank{top:.2rem;left:.24rem}.chessimals-cell-coordinate--file{right:.24rem;bottom:.18rem}@keyframes chessimals-orient-board{0%{opacity:.72;filter:blur(.06rem);transform:scale(.985)}52%{opacity:.92;filter:blur(0);transform:scale(1.012)}to{opacity:1;filter:blur(0);transform:scale(1)}}.chessimals-center-line{position:absolute;top:50%;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;border-top:.08rem dashed rgba(var(--chessimals-primary-rgb),.56);filter:drop-shadow(0 0 .24rem rgba(var(--chessimals-primary-rgb),.26));pointer-events:none}.chessimals-power-trail{position:absolute;inset:0;z-index:5;pointer-events:none;--trail-color: rgba(var(--chessimals-selected-rgb), .76);--trail-glow: rgba(var(--chessimals-selected-rgb), .34)}.chessimals-power-trail.is-capture{--trail-color: rgba(var(--chessimals-capture-rgb), .86);--trail-glow: rgba(var(--chessimals-capture-rgb), .46)}.chessimals-power-trail.effect-eagle{--trail-color: rgba(255, 255, 255, .92);--trail-glow: rgba(120, 210, 255, .54)}.chessimals-power-trail.effect-bull{--trail-color: rgba(188, 131, 76, .86);--trail-glow: rgba(188, 131, 76, .36)}.chessimals-power-trail.effect-kangaroo{--trail-color: rgba(174, 124, 255, .86);--trail-glow: rgba(174, 124, 255, .42)}.chessimals-power-trail.effect-lion{--trail-color: rgba(255, 221, 120, .88);--trail-glow: rgba(255, 190, 56, .42)}.chessimals-power-trail>span{position:absolute;top:var(--trail-y);left:var(--trail-x);width:var(--trail-length);height:.45rem;border-radius:999px;background:linear-gradient(90deg,transparent,var(--trail-color) 42%,rgba(255,255,255,.92));box-shadow:0 0 .75rem var(--trail-glow),0 0 1.45rem var(--trail-glow);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0);transform-origin:0 50%;animation:chessimals-power-trail .72s ease-out both}.chessimals-power-trail.effect-eagle>span{height:.28rem;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95) 44%,rgba(120,210,255,.58)),repeating-linear-gradient(90deg,transparent 0 .7rem,rgba(255,255,255,.66) .7rem .92rem);animation-name:chessimals-eagle-trail}.chessimals-power-trail.effect-bull>span{height:.72rem;background:repeating-linear-gradient(90deg,rgba(255,255,255,.42) 0 .18rem,transparent .18rem .42rem),linear-gradient(90deg,transparent,var(--trail-color),rgba(255,255,255,.86));animation-name:chessimals-bull-trail}.chessimals-power-trail.effect-kangaroo>span{height:1rem;border-top:.16rem dashed var(--trail-color);background:transparent;box-shadow:none;filter:drop-shadow(0 0 .8rem var(--trail-glow));animation-name:chessimals-kangaroo-trail}.chessimals-power-trail.effect-lion>span{height:.62rem;background:linear-gradient(90deg,transparent,var(--trail-color),rgba(255,255,255,.82)),repeating-linear-gradient(115deg,rgba(255,255,255,.55) 0 .12rem,transparent .12rem .34rem);animation-name:chessimals-lion-trail}@keyframes chessimals-power-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0)}28%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.72)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}@keyframes chessimals-eagle-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0) skew(-10deg)}30%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.82) skew(-10deg)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1.05) skew(-10deg)}}@keyframes chessimals-bull-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0) scaleY(1)}38%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.7) scaleY(1.18)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1) scaleY(.82)}}@keyframes chessimals-kangaroo-trail{0%{opacity:0;transform:translateY(-.4rem) rotate(var(--trail-angle)) scaleX(0)}34%{opacity:1;transform:translateY(-1.2rem) rotate(var(--trail-angle)) scaleX(.62)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}@keyframes chessimals-lion-trail{0%{opacity:0;filter:saturate(1);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0)}36%{opacity:1;filter:saturate(1.4);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.76)}to{opacity:0;filter:saturate(1.1);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}.chessimals-board-overlay{position:absolute;inset:0;z-index:8;display:grid;place-content:center;gap:.45rem;padding:1.25rem;background:radial-gradient(circle at 50% 36%,rgba(255,226,129,.28),transparent 28%),radial-gradient(circle at 50% 48%,rgba(var(--chessimals-primary-rgb),.3),transparent 44%),#0d0a12c7;color:#fff;text-align:center;backdrop-filter:blur(2px);overflow:hidden}.chessimals-board-overlay:before{position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.5) 0 .08rem,transparent .1rem),radial-gradient(circle at 75% 25%,rgba(255,226,129,.62) 0 .1rem,transparent .12rem),radial-gradient(circle at 68% 72%,rgba(var(--chessimals-capture-rgb),.46) 0 .08rem,transparent .1rem),radial-gradient(circle at 35% 78%,rgba(255,255,255,.42) 0 .07rem,transparent .09rem);content:\"\";opacity:.72;animation:chessimals-victory-sparks 1.5s ease-in-out infinite}.chessimals-board-overlay>*{position:relative;z-index:1}.chessimals-board-overlay span{justify-self:center;border-radius:999px;padding:.32rem .7rem;background:#ffffff26;color:#ffffffe6;font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.chessimals-board-overlay strong{font-size:clamp(1.65rem,8vw,3rem);line-height:1;font-weight:950;text-shadow:0 0 1.25rem rgba(255,255,255,.26)}.chessimals-board-overlay small{color:#ffffffd1;font-size:clamp(.9rem,3vw,1.1rem);font-weight:800}@keyframes chessimals-victory-sparks{0%,to{opacity:.46;transform:translateY(0) scale(.98)}50%{opacity:.95;transform:translateY(-.35rem) scale(1.02)}}.chessimals-cell{position:relative;isolation:isolate;--chessimals-cell-bg: var(--chessimals-cell-light);display:grid;place-items:center;min-width:0;min-height:0;aspect-ratio:1;border:0;background:radial-gradient(ellipse at 24% 22%,rgba(255,255,255,.2),transparent 24%),radial-gradient(ellipse at 78% 76%,rgba(var(--chessimals-stone-rgb),.12),transparent 28%),radial-gradient(ellipse at 38% 64%,rgba(255,255,255,.08),transparent 22%),radial-gradient(ellipse at 64% 42%,rgba(var(--chessimals-stone-rgb),.08),transparent 26%),radial-gradient(circle at 14% 84%,rgba(var(--chessimals-stone-rgb),.05),transparent 18%),var(--chessimals-cell-bg);color:var(--chessimals-text);font:inherit;overflow:hidden;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.chessimals-cell:before,.chessimals-cell:after{pointer-events:none}.chessimals-cell.is-dark-cell{--chessimals-cell-bg: var(--chessimals-cell-dark)}.chessimals-cell.is-selected{z-index:1;background:radial-gradient(circle,rgba(var(--chessimals-selected-rgb),.28) 0 36%,transparent 62%),linear-gradient(135deg,rgba(var(--chessimals-selected-rgb),.22),#ffffff14),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .18rem var(--chessimals-selected),inset 0 0 .55rem #ffffffb8,inset 0 0 1.8rem rgba(var(--chessimals-selected-rgb),.42),0 0 .55rem rgba(var(--chessimals-selected-rgb),.56),0 0 1.55rem rgba(var(--chessimals-selected-rgb),.36)}.chessimals-cell.is-legal:not(.is-capture):after{position:absolute;inset:13%;z-index:2;border:max(2px,1.8%) solid var(--chessimals-move);border-radius:.55rem;content:\"\";opacity:.74;pointer-events:none}.chessimals-cell.is-last:not(.is-selected):not(.is-legal):not(.is-capture){background:radial-gradient(circle,rgba(var(--chessimals-last-rgb),.16) 0 42%,transparent 68%),var(--chessimals-cell-bg)}.chessimals-cell.is-capture{z-index:2;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.24),transparent 34%),linear-gradient(135deg,rgba(var(--chessimals-capture-rgb),.14),#ffffff14),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .14rem rgba(var(--chessimals-capture-rgb),.84),inset 0 0 1.4rem rgba(var(--chessimals-capture-rgb),.24),0 0 .95rem rgba(var(--chessimals-capture-rgb),.34);animation:chessimals-capture-aura 1.35s ease-in-out infinite}.chessimals-cell.is-capture:before{position:absolute;inset:4%;z-index:1;display:block;border-radius:.64rem;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.24),transparent 58%);content:\"\";opacity:0;transform:translate(-42%) scale(.9);animation:chessimals-capture-sweep 1.35s ease-in-out infinite}.chessimals-cell.is-capture:after{position:absolute;inset:8%;z-index:3;border:max(2px,1.55%) solid rgba(var(--chessimals-capture-rgb),.9);border-radius:.62rem;box-shadow:0 0 .75rem rgba(var(--chessimals-capture-rgb),.5),inset 0 0 .72rem #ffffff38;content:\"\";pointer-events:none;animation:chessimals-capture-frame 1.35s ease-in-out infinite}@keyframes chessimals-capture-aura{0%,to{filter:saturate(1);box-shadow:inset 0 0 0 .12rem rgba(var(--chessimals-capture-rgb),.78),inset 0 0 1rem rgba(var(--chessimals-capture-rgb),.2),0 0 .64rem rgba(var(--chessimals-capture-rgb),.32)}50%{filter:saturate(1.22);box-shadow:inset 0 0 0 .16rem rgba(var(--chessimals-capture-rgb),.96),inset 0 0 1.34rem rgba(var(--chessimals-capture-rgb),.34),0 0 1.2rem rgba(var(--chessimals-capture-rgb),.48)}}@keyframes chessimals-capture-sweep{0%{opacity:0;transform:translate(-52%) scale(.88)}42%{opacity:.66;transform:translate(0) scale(1)}to{opacity:0;transform:translate(48%) scale(.92)}}@keyframes chessimals-capture-frame{0%,to{opacity:.68;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}.chessimals-cell.has-source-effect:not(.is-moving-source){background:radial-gradient(circle,rgba(var(--chessimals-selected-rgb),.12) 0 34%,transparent 64%),var(--chessimals-cell-bg)}.chessimals-cell.has-move-effect{z-index:2;background:radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.22) 0 34%,transparent 68%),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .16rem rgba(var(--chessimals-capture-rgb),.86),inset 0 0 1.2rem rgba(var(--chessimals-capture-rgb),.26),0 0 1.1rem rgba(var(--chessimals-capture-rgb),.42)}.chessimals-cell.has-move-effect:before{position:absolute;inset:.12rem;z-index:1;display:block;border-radius:.7rem;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.48),transparent 22%),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.42),transparent 58%);content:\"\";opacity:0;transform:scale(.72);animation:chessimals-power-impact .7s ease-out both}.chessimals-cell.has-move-effect:after{position:absolute;inset:.28rem;z-index:4;display:block;border:.14rem solid rgba(255,255,255,.72);border-radius:.58rem;box-shadow:0 0 .5rem #ffffff5c,0 0 1rem rgba(var(--chessimals-capture-rgb),.32);content:\"\";animation:chessimals-power-frame .86s ease-out both}.chessimals-cell.has-capture-effect{animation:chessimals-capture-hit .78s ease-out both}.chessimals-cell.effect-eagle:before{background:linear-gradient(135deg,transparent 10%,rgba(255,255,255,.78) 48%,transparent 52%),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.36),transparent 62%)}.chessimals-cell.effect-bull:before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.34) 0 .16rem,transparent .16rem .34rem),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.38),transparent 62%)}.chessimals-cell.effect-kangaroo:before{border-radius:999px;background:radial-gradient(circle at 42% 44%,rgba(255,255,255,.58),transparent 18%),radial-gradient(circle at 58% 56%,rgba(var(--chessimals-capture-rgb),.4),transparent 64%)}.chessimals-cell.effect-lion:before{background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.56),transparent,rgba(var(--chessimals-capture-rgb),.4),transparent),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.34),transparent 62%)}@keyframes chessimals-power-impact{0%{opacity:0;transform:scale(.54) rotate(0)}28%{opacity:1;transform:scale(.96) rotate(2deg)}to{opacity:0;transform:scale(1.3) rotate(8deg)}}@keyframes chessimals-power-frame{0%{opacity:0;transform:scale(.84)}34%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(1.16)}}@keyframes chessimals-capture-hit{0%,to{filter:saturate(1)}35%{filter:saturate(1.35) brightness(1.08)}}.chessimals-cell.is-moving-source .chessimals-piece{opacity:0}.chessimals-piece{position:relative;z-index:2;display:block;width:68%;height:74%;color:var(--chessimals-primary);--chessimals-piece-fill: var(--chessimals-piece-white-fill);--chessimals-piece-side: var(--chessimals-piece-white-side);--chessimals-piece-line: var(--chessimals-piece-white-line);--chessimals-piece-outline: rgba(82, 65, 46, .24);filter:var(--chessimals-piece-white-shadow)}.chessimals-piece.is-black{color:#fff;--chessimals-piece-fill: var(--chessimals-piece-black-fill);--chessimals-piece-side: var(--chessimals-piece-black-side);--chessimals-piece-line: var(--chessimals-piece-black-line);--chessimals-piece-outline: rgba(255, 255, 255, .16);filter:var(--chessimals-piece-black-shadow)}.chessimals-moving-piece{position:absolute;top:0;left:0;z-index:6;width:calc(100% / var(--board-size));height:calc(100% / var(--board-size));display:grid;place-items:center;pointer-events:none;transform:translate(calc(var(--from-col) * 100%),calc(var(--from-row) * 100%));animation:chessimals-piece-travel .36s cubic-bezier(.2,.82,.24,1) both}@keyframes chessimals-piece-travel{0%{transform:translate(calc(var(--from-col) * 100%),calc(var(--from-row) * 100%)) scale(1)}68%{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%)) scale(1.07)}to{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%)) scale(1)}}.chessimals-piece__side,.chessimals-piece__head,.chessimals-piece__collar,.chessimals-piece__neck,.chessimals-piece__base{position:absolute;display:block;left:50%;background:var(--chessimals-piece-fill);border:max(1px,1.25%) solid var(--chessimals-piece-outline);transform:translate(-50%)}.chessimals-piece__side{top:46%;z-index:0;width:58%;height:41%;border-radius:34% 34% 12% 12%;background:linear-gradient(96deg,var(--chessimals-piece-side) 0 34%,transparent 35%),var(--chessimals-piece-fill);clip-path:polygon(22% 0,78% 0,96% 100%,4% 100%);opacity:.92}.chessimals-piece__head{top:1%;z-index:4;width:48%;height:40%;border-radius:999px;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.72) 0 13%,transparent 14%),linear-gradient(135deg,rgba(255,255,255,.28) 0 34%,transparent 35%),var(--chessimals-piece-fill);box-shadow:inset -.18rem -.12rem #52412e0f,inset 0 -1px 0 var(--chessimals-piece-line)}.chessimals-piece.is-black .chessimals-piece__head{box-shadow:inset .18rem -.12rem #ffffff0f,inset 0 -1px 0 var(--chessimals-piece-line)}.chessimals-piece__collar{top:37%;z-index:5;width:72%;height:15%;border-radius:999px;background:linear-gradient(180deg,#f5cd77 0%,var(--chessimals-piece-gold) 55%,var(--chessimals-piece-gold-dark) 100%);border-color:color-mix(in srgb,var(--chessimals-piece-gold-dark) 72%,transparent);box-shadow:inset 0 .12rem #ffffff47,inset 0 -.08rem #462e1238,0 .08rem .18rem #462e1224}.chessimals-piece__neck{top:50%;z-index:2;width:52%;height:31%;clip-path:polygon(16% 0,84% 0,100% 100%,0 100%);background:linear-gradient(100deg,var(--chessimals-piece-side) 0 28%,transparent 29%),linear-gradient(180deg,var(--chessimals-piece-fill),color-mix(in srgb,var(--chessimals-piece-fill) 78%,var(--chessimals-piece-side)));box-shadow:inset -.12rem .1rem #ffffff14}.chessimals-piece__base{bottom:0;z-index:6;width:86%;height:17%;border-radius:.42rem .42rem .22rem .22rem;background:linear-gradient(100deg,var(--chessimals-piece-side) 0 18%,transparent 19%),linear-gradient(180deg,color-mix(in srgb,var(--chessimals-piece-fill) 92%,#ffffff),var(--chessimals-piece-fill));box-shadow:inset 0 .12rem #ffffff24,inset 0 -.1rem 0 var(--chessimals-piece-line)}.chessimals-target{width:16%;height:16%;border-radius:999px;background:var(--chessimals-move);opacity:.9;box-shadow:0 0 .9rem rgba(var(--chessimals-move-rgb),.42)}.chessimals-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.625rem}.chessimals-cards button{display:grid;gap:.375rem;place-items:center;min-height:5.75rem;padding:.625rem;border:1px solid var(--chessimals-border);border-radius:1.125rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.chessimals-powers__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chessimals-powers p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.chessimals-powers__heading span{flex:0 0 auto;border-radius:999px;padding:.28rem .62rem;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font-size:.78rem;font-weight:950}.chessimals-cards button.is-selected{border-color:var(--chessimals-primary);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16),0 .9rem 2rem rgba(var(--chessimals-primary-rgb),.13);transform:translateY(-1px)}.chessimals-cards button.is-used{opacity:.42}.chessimals-animal-face{display:grid;place-items:center;width:3.25rem;height:3.25rem;padding:.34rem;overflow:hidden;border-radius:1.2rem;background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.82),transparent 55%),var(--chessimals-animal-face-bg);color:color-mix(in srgb,var(--chessimals-text) 92%,#000);box-shadow:inset 0 0 0 1px var(--chessimals-animal-face-border),0 .45rem 1.15rem #2e3a2c1a}.chessimals-animal-face img{display:block;width:100%;height:100%;object-fit:contain;border-radius:.72rem;background:var(--chessimals-animal-face-inner-bg);box-shadow:inset 0 0 0 1px #2e3a2c14;transform:none;filter:var(--chessimals-animal-face-filter)}.chessimals-cards button.is-selected .chessimals-animal-face,.chessimals-powers.is-ready .chessimals-cards button:not(.is-used) .chessimals-animal-face{background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.82),transparent 55%),var(--chessimals-animal-face-bg);color:color-mix(in srgb,var(--chessimals-text) 94%,#000);box-shadow:inset 0 0 0 1px #2e3a2c24,0 .75rem 1.6rem rgba(var(--chessimals-selected-rgb),.18)}.chessimals-powers.is-locked .chessimals-animal-face{filter:var(--chessimals-animal-face-locked-filter);opacity:.86}.chessimals-powers.is-locked .chessimals-animal-face img,.chessimals-cards button.is-used .chessimals-animal-face img{opacity:var(--chessimals-animal-face-locked-img-opacity)}.chessimals-cards strong{overflow:hidden;max-width:100%;font-size:.82rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-powers.is-locked .chessimals-cards{opacity:.68}.chessimals-powers.is-ready{border-color:rgba(var(--chessimals-primary-rgb),.42);box-shadow:0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}.chessimals-powers.is-ready .chessimals-cards button:not(.is-used){animation:chessimalsPowerPulse 1.8s ease-in-out infinite}.chessimals-powers.is-unlock-pulse{animation:chessimalsPowersUnlocked 1.18s ease-out both}.chessimals-powers.is-unlock-pulse .chessimals-cards button:not(.is-used){animation:chessimalsPowerIgnite .76s ease-out both,chessimalsPowerPulse 1.8s ease-in-out .76s infinite}@keyframes chessimalsPowerPulse{0%,to{box-shadow:0 0 rgba(var(--chessimals-primary-rgb),0)}50%{box-shadow:0 0 1.4rem rgba(var(--chessimals-primary-rgb),.22)}}@keyframes chessimalsPowersUnlocked{0%{box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}34%{box-shadow:0 0 0 .18rem rgba(var(--chessimals-selected-rgb),.24),0 0 2.2rem rgba(var(--chessimals-selected-rgb),.34),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.16)}to{box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}}@keyframes chessimalsPowerIgnite{0%{transform:translateY(0) scale(.96);box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0)}42%{transform:translateY(-.08rem) scale(1.025);box-shadow:0 0 0 .14rem rgba(var(--chessimals-selected-rgb),.2),0 0 1.5rem rgba(var(--chessimals-selected-rgb),.42)}to{transform:translateY(0) scale(1);box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0)}}.chessimals-actions{order:6;align-self:stretch;justify-self:stretch;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.625rem;margin-top:1rem}.chessimals-shell--projection .chessimals-game{max-width:min(96vw,90rem)}.chessimals-shell--projection .chessimals-turn-card{padding:.875rem 1rem}.chessimals-shell--projection .chessimals-status,.chessimals-shell--projection .chessimals-actions,.chessimals-shell--projection .chessimals-online,.chessimals-shell--projection .chessimals-rematch-status{display:none}.chessimals-shell--projection .chessimals-arena{grid-template-columns:minmax(0,1fr);justify-items:center}.chessimals-shell--projection .chessimals-board-wrap{--chessimals-board-radius: min(.625rem, 10px);width:min(96vw,82vh,58rem);max-width:none}.chessimals-shell--projection .chessimals-board-frame{flex-basis:auto;max-width:none}@media (min-width: 760px){.chessimals-game{gap:1rem}.chessimals-turn-card,.chessimals-status,.chessimals-arena,.chessimals-result,.chessimals-actions{grid-column:1 / -1}.chessimals-arena{grid-template-columns:minmax(0,1fr);justify-items:center;align-items:start;gap:1rem}.chessimals-powers{width:min(100%,44rem);align-content:center;grid-template-columns:minmax(11rem,.68fr) minmax(0,1fr);align-items:center;gap:1rem;padding:1rem}.chessimals-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.chessimals-cards button{min-height:5rem}.chessimals-powers p{-webkit-line-clamp:3}}.chessimals-rules{display:grid;gap:1rem;padding-top:.25rem}.chessimals-rules__hero{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:1.35rem;border:1px solid rgba(var(--chessimals-primary-rgb),.18);box-shadow:0 1rem 2.25rem #2e3a2c1f}.chessimals-rules article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;padding:1rem;border:1px solid var(--ion-border-color, #e7e4ea);border-radius:1.25rem;background:var(--ion-card-background, #fff);color:var(--ion-text-color, #2f2a3a)}.chessimals-rules article>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font-weight:950}.chessimals-rules article>div{display:grid;min-width:0;gap:.45rem}.chessimals-rules h3,.chessimals-rules p,.chessimals-rules ul{margin:0}.chessimals-rules h3{font-size:1rem;font-weight:950;line-height:1.2}.chessimals-rules p,.chessimals-rules li{color:var(--ion-color-medium, #6f6a7a);line-height:1.5}.chessimals-rules ul{display:grid;gap:.45rem;padding-left:1.15rem}.chessimals-rules__closing{display:grid;place-items:center;justify-self:center;width:min(12rem,62%);padding:.65rem;border-radius:1.25rem;background:color-mix(in srgb,var(--chessimals-surface) 86%,#ffffff 14%);border:1px solid rgba(var(--chessimals-primary-rgb),.14);box-shadow:0 .75rem 1.75rem #2e3a2c1a}.chessimals-rules__closing img{display:block;width:100%;border-radius:.85rem;object-fit:contain}.chessimals-primary,.chessimals-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.625rem;border-radius:999px;font:inherit;font-weight:950}.chessimals-primary{border:0;background:var(--chessimals-primary);color:var(--chessimals-primary-contrast);box-shadow:0 1.125rem 2.8rem rgba(var(--chessimals-primary-rgb),.28)}.chessimals-secondary{border:1px solid var(--chessimals-border);background:transparent;color:var(--chessimals-text)}.chessimals-primary.is-working,.chessimals-secondary.is-working{cursor:wait;opacity:.82}.chessimals-button-spinner{width:1rem;height:1rem;flex:0 0 auto;border:.14rem solid currentColor;border-right-color:transparent;border-radius:999px;animation:chessimals-spin .72s linear infinite}@media (max-width: 560px){.chessimals-size,.chessimals-mode,.chessimals-actions{grid-template-columns:1fr}.chessimals-game{gap:.55rem;border-radius:1.25rem;padding:.625rem}.chessimals-turn-card{flex-direction:column;align-items:stretch;gap:.45rem;min-height:0;border-radius:.95rem;padding:.55rem}.chessimals-turn-card__chip{padding:.18rem .5rem;font-size:.6rem;letter-spacing:.045em;white-space:nowrap}.chessimals-turn-card strong{font-size:clamp(.98rem,5vw,1.25rem);line-height:1.08}.chessimals-turn-card p{font-size:.76rem;line-height:1.2}.chessimals-player-strip{width:100%;max-width:none;min-width:0}.chessimals-status{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.chessimals-status div{gap:.2rem;min-height:2.5rem;border-radius:.95rem;padding:.4rem .35rem}.chessimals-status small{font-size:.66rem;line-height:1.05}.chessimals-status strong{font-size:clamp(.86rem,3.4vw,1rem);line-height:1.05}.chessimals-tip,.chessimals-result{gap:.2rem;border-radius:1rem;padding:.7rem .75rem}.chessimals-tip strong,.chessimals-result strong{font-size:.95rem}.chessimals-tip p,.chessimals-result p{font-size:.9rem;line-height:1.28}.chessimals-arena{gap:.5rem}.chessimals-board-wrap{width:100%;margin-inline:0;padding:0}.chessimals-board-frame{width:100%}.chessimals-powers{gap:.5rem;border-radius:1rem;padding:.65rem}.chessimals-powers__heading{gap:.4rem}.chessimals-powers h2{font-size:1rem}.chessimals-powers__heading span{padding:.22rem .48rem;font-size:.68rem}.chessimals-powers p{font-size:.78rem;line-height:1.2;-webkit-line-clamp:1}.chessimals-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.chessimals-cards button{gap:.25rem;min-height:4.25rem;border-radius:.85rem;padding:.4rem .25rem}.chessimals-animal-face{width:2.35rem;height:2.35rem;padding:.26rem;border-radius:.85rem}.chessimals-animal-face img{border-radius:.55rem}.chessimals-cards strong{font-size:.66rem}.chessimals-board{border-radius:var(--chessimals-board-radius)}.chessimals-cell-coordinate{font-size:.58rem}}@media (prefers-reduced-motion: reduce){.chessimals-cell.is-capture,.chessimals-cell.is-capture:before,.chessimals-cell.is-capture:after,.chessimals-cell.has-move-effect,.chessimals-cell.has-move-effect:before,.chessimals-cell.has-move-effect:after,.chessimals-cell.has-capture-effect,.chessimals-moving-piece{animation:none!important}.chessimals-moving-piece{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%))}}\n"] }]
65703
+ `, styles: [":host{display:block}.chessimals-shell{--chessimals-panel: #ffffff;--chessimals-surface: #fffaf1;--chessimals-border: rgba(46, 58, 44, .18);--chessimals-text: #2e3a2c;--chessimals-muted: #51643d;--chessimals-soft: rgba(111, 122, 60, .1);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-selected: #37f28a;--chessimals-selected-rgb: 55, 242, 138;--chessimals-move: var(--chessimals-sky);--chessimals-move-rgb: var(--chessimals-sky-rgb);--chessimals-capture: #1fcdb3;--chessimals-capture-rgb: 31, 205, 179;--chessimals-last: #8c6b4f;--chessimals-last-rgb: 140, 107, 79;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(46, 58, 44, .14);--chessimals-piece-white-fill: #ffffff;--chessimals-piece-white-side: #f3eadb;--chessimals-piece-white-line: rgba(82, 65, 46, .12);--chessimals-piece-white-shadow: drop-shadow(0 0 1px rgba(84, 62, 34, .26)) drop-shadow(0 2px 3px rgba(84, 62, 34, .14));--chessimals-piece-black-fill: #242936;--chessimals-piece-black-side: #171b25;--chessimals-piece-black-line: rgba(255, 255, 255, .1);--chessimals-piece-black-shadow: drop-shadow(0 0 1px rgba(255, 255, 255, .14)) drop-shadow(0 2px 3px rgba(0, 0, 0, .24));--chessimals-piece-gold: #c79a42;--chessimals-piece-gold-dark: #8a5f22;--chessimals-animal-face-bg: #fffdf7;--chessimals-animal-face-inner-bg: #ffffff;--chessimals-animal-face-border: rgba(46, 58, 44, .12);--chessimals-animal-face-filter: drop-shadow(0 .12rem .16rem rgba(46, 58, 44, .18));--chessimals-animal-face-locked-filter: grayscale(.2) saturate(.72);--chessimals-animal-face-locked-img-opacity: .72;display:grid;gap:1.125rem;width:100%;max-width:min(100%,60rem);margin:0 auto;color:var(--chessimals-text)}@media (prefers-color-scheme: dark){.chessimals-shell{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(242, 230, 213, .2);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1;--chessimals-soft: rgba(111, 122, 60, .22);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(0, 0, 0, .34);--chessimals-animal-face-border: rgba(242, 230, 213, .24)}}.chessimals-resume-splash{order:0;position:fixed;inset:0;z-index:1000;display:grid;place-items:center;align-content:center;gap:.65rem;padding:1.5rem;text-align:center;color:var(--chessimals-text);background:radial-gradient(circle at 50% 42%,rgba(var(--chessimals-primary-rgb),.18),transparent 22rem),color-mix(in srgb,var(--chessimals-panel) 92%,transparent);backdrop-filter:blur(.9rem)}.chessimals-resume-splash__paw{display:grid;place-items:center;width:clamp(4.6rem,16vw,5.6rem);height:clamp(4.6rem,16vw,5.6rem);border-radius:1.55rem;background:radial-gradient(circle at 35% 25%,rgba(255,255,255,.96),transparent 34%),linear-gradient(145deg,#fffffff5,rgba(var(--chessimals-secondary-rgb),.22)),color-mix(in srgb,var(--chessimals-panel) 82%,white);border:.12rem solid rgba(var(--chessimals-primary-rgb),.22);box-shadow:0 1.15rem 2.6rem rgba(var(--ion-color-dark-rgb, 47, 42, 58),.16),0 0 0 .42rem #ffffff6b,inset 0 -.25rem .6rem rgba(var(--chessimals-primary-rgb),.08);animation:chessimals-resume-pulse 1.2s ease-in-out infinite;font-size:clamp(2.45rem,9vw,3.35rem);line-height:1;filter:drop-shadow(0 .28rem .38rem rgba(var(--ion-color-dark-rgb, 47, 42, 58),.18))}.chessimals-resume-splash strong{font-size:clamp(1.55rem,5vw,2.4rem);font-weight:950;line-height:1.05}.chessimals-resume-splash p{max-width:24rem;margin:0;color:var(--chessimals-muted);font-size:1rem;line-height:1.35}@keyframes chessimals-resume-pulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-.25rem) scale(1.04)}}@keyframes chessimals-spin{to{transform:rotate(360deg)}}:host-context(html.ion-palette-dark) .chessimals-shell,:host-context([data-theme=\"dark\"]) .chessimals-shell{--chessimals-panel: #172116;--chessimals-surface: #0f170f;--chessimals-border: rgba(246, 227, 213, .22);--chessimals-text: #f6f3e9;--chessimals-muted: #c8cfb1;--chessimals-soft: rgba(111, 122, 60, .22);--chessimals-primary: #2e6f3e;--chessimals-primary-rgb: 46, 111, 62;--chessimals-primary-contrast: #fffaf0;--chessimals-secondary: #a8a06a;--chessimals-secondary-rgb: 168, 160, 106;--chessimals-sky: #c06a3d;--chessimals-sky-rgb: 192, 106, 61;--chessimals-stone: #8e9362;--chessimals-stone-rgb: 142, 147, 98;--chessimals-cell-light: #f6f9ed;--chessimals-cell-dark: #9eb25f;--chessimals-board-shadow: rgba(0, 0, 0, .34);--chessimals-capture: #66f2d7;--chessimals-capture-rgb: 102, 242, 215;--chessimals-last: #cdbe9b;--chessimals-last-rgb: 205, 190, 155;--chessimals-piece-white-fill: #fffaff;--chessimals-piece-white-side: #f0e5d4;--chessimals-piece-white-line: rgba(82, 65, 46, .12);--chessimals-piece-white-shadow: drop-shadow(0 0 1px rgba(84, 62, 34, .24)) drop-shadow(0 2px 3px rgba(0, 0, 0, .2));--chessimals-piece-black-fill: #202633;--chessimals-piece-black-side: #111620;--chessimals-piece-black-line: rgba(255, 255, 255, .12);--chessimals-piece-black-shadow: drop-shadow(0 0 1px rgba(255, 255, 255, .34)) drop-shadow(0 3px 4px rgba(0, 0, 0, .44));--chessimals-animal-face-bg: #fffdf7;--chessimals-animal-face-inner-bg: #ffffff;--chessimals-animal-face-border: rgba(242, 230, 213, .24);--chessimals-animal-face-filter: drop-shadow(0 .12rem .16rem rgba(0, 0, 0, .22));--chessimals-animal-face-locked-filter: grayscale(.32) saturate(.72);--chessimals-animal-face-locked-img-opacity: .58}.chessimals-hero{display:grid;gap:.75rem;justify-items:center;overflow:hidden;border-radius:1.75rem;padding:clamp(1.25rem,5vw,2.5rem);background:radial-gradient(circle at 18% 12%,rgba(255,255,255,.92),transparent 20%),linear-gradient(135deg,#fdf8ee,#fff 40%,#edf3df);color:var(--chessimals-text);text-align:center;border:1px solid var(--chessimals-border)}.chessimals-hero__logo{display:grid;place-items:center;width:min(22rem,82vw);max-width:100%;padding:.5rem;border-radius:1.35rem;background:#fff;box-shadow:0 1rem 2.5rem #2e3a2c1a,inset 0 0 0 1px #2e3a2c14}.chessimals-hero__logo img{display:block;width:100%;height:auto;max-height:12rem;object-fit:contain;border-radius:1rem}.chessimals-hero h1{margin:0;font-size:clamp(2.4rem,9vw,4.5rem);line-height:.95;font-weight:950}.chessimals-hero p,.chessimals-howto p,.chessimals-tip p,.chessimals-result p,.chessimals-powers p{margin:0;line-height:1.45}.chessimals-panel,.chessimals-game,.chessimals-powers{display:grid;gap:1rem;border:1px solid var(--chessimals-border);border-radius:1.625rem;padding:clamp(1rem,4vw,1.5rem);background:var(--chessimals-panel)}.chessimals-online{display:grid;gap:.875rem;border:1px solid var(--chessimals-border);border-radius:1.375rem;padding:1rem;background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.08),transparent),var(--chessimals-panel)}.chessimals-online--waiting{order:2;border-color:rgba(var(--chessimals-primary-rgb),.34)}.chessimals-online h2,.chessimals-online p{margin:0}.chessimals-online h2{font-size:1.1rem;font-weight:950}.chessimals-online p{color:var(--chessimals-muted);line-height:1.4}.chessimals-online__create,.chessimals-online__join{display:grid;gap:.55rem}.chessimals-online__create small{color:var(--chessimals-muted);font-weight:800;line-height:1.35}.chessimals-online__join{border-top:1px solid var(--chessimals-border);padding-top:.85rem}.chessimals-online__join>strong{font-size:.95rem;font-weight:950}.chessimals-online__error{border-radius:.875rem;padding:.7rem .8rem;background:rgba(var(--ion-color-danger-rgb, 235, 68, 90),.12);color:var(--ion-color-danger, #eb445a)!important;font-weight:800}.chessimals-online__loading{display:flex;align-items:center;gap:.625rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);border-radius:999px;padding:.65rem .85rem;background:rgba(var(--chessimals-primary-rgb),.08);color:var(--chessimals-text);font-size:.92rem;font-weight:900}.chessimals-online__loading span{width:1rem;height:1rem;border:.15rem solid rgba(var(--chessimals-primary-rgb),.24);border-top-color:var(--chessimals-primary);border-radius:999px;animation:chessimals-spin .75s linear infinite}.chessimals-online-code{display:grid;gap:.4rem;font-weight:950}.chessimals-online-code input{width:100%;min-height:3.3rem;border:1px solid var(--chessimals-border);border-radius:999px;padding:0 1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.chessimals-game-code{display:grid;gap:.2rem;border-radius:1rem;padding:.85rem 1rem;background:var(--chessimals-soft)}.chessimals-game-code small{color:var(--chessimals-muted);font-weight:900;letter-spacing:.06em;text-transform:uppercase}.chessimals-game-code strong{font-size:clamp(1.35rem,6vw,2rem);font-weight:950;letter-spacing:.05em}.chessimals-online-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.chessimals-history{gap:.75rem}.chessimals-history__heading{display:flex;align-items:start;justify-content:space-between;gap:.75rem}.chessimals-history__list{display:grid;gap:.5rem}.chessimals-history__item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;border:1px solid var(--chessimals-border);border-radius:1rem;padding:.7rem .8rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;text-align:left}.chessimals-history__item span{display:grid;gap:.1rem;min-width:0}.chessimals-history__item strong{font-weight:950;letter-spacing:.04em}.chessimals-history__item small{overflow:hidden;color:var(--chessimals-muted);font-size:.82rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.chessimals-history__item em{flex:0 0 auto;color:var(--chessimals-primary);font-size:.86rem;font-style:normal;font-weight:950}.chessimals-pending-player{display:flex;align-items:center;gap:.7rem;border:1px solid rgba(var(--chessimals-primary-rgb),.22);border-radius:1rem;padding:.75rem;background:var(--chessimals-soft)}.chessimals-pending-player div{display:grid;gap:.1rem;min-width:0}.chessimals-pending-player small{color:var(--chessimals-muted);font-size:.72rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase}.chessimals-pending-player strong{overflow:hidden;font-size:1.05rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-game{display:grid;gap:.875rem}.chessimals-turn-card{order:1;display:flex;align-items:center;justify-content:space-between;gap:.625rem;min-height:3.75rem;overflow:visible;border:1px solid rgba(var(--chessimals-primary-rgb),.24);border-radius:1rem;padding:.55rem .65rem;background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.34),transparent 18%),linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.2),rgba(var(--chessimals-secondary-rgb),.1))}.chessimals-turn-card.is-black-turn{border-color:rgba(var(--ion-color-dark-rgb, 47, 42, 58),.28);background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.12),transparent 18%),linear-gradient(135deg,rgba(var(--ion-color-dark-rgb, 47, 42, 58),.14),rgba(var(--chessimals-primary-rgb),.1))}.chessimals-turn-card.is-finished{border-color:rgba(var(--ion-color-success-rgb, 45, 211, 111),.42);background:radial-gradient(circle at 15% 18%,rgba(255,255,255,.35),transparent 18%),linear-gradient(135deg,rgba(var(--ion-color-success-rgb, 45, 211, 111),.18),rgba(var(--chessimals-primary-rgb),.12))}.chessimals-turn-card.is-finished .chessimals-turn-card__chip{color:var(--ion-color-success, #2dd36f)}.chessimals-turn-card__copy{display:grid;min-width:0;gap:.15rem}.chessimals-turn-card__chip{justify-self:start;border-radius:999px;padding:.2rem .5rem;background:var(--chessimals-panel);color:var(--chessimals-primary);font-size:.62rem;font-weight:950;letter-spacing:.06em;text-transform:uppercase}.chessimals-turn-card strong{display:block;min-width:0;font-size:clamp(1rem,3.5vw,1.25rem);line-height:1.08;font-weight:950;overflow-wrap:anywhere}.chessimals-turn-card p{display:block;min-width:0;margin:0;color:var(--chessimals-muted);font-size:.78rem;line-height:1.22}.chessimals-player-strip{display:flex;flex:0 0 auto;align-items:center;gap:.45rem;min-width:10rem;max-width:min(17rem,42%);border:1px solid var(--chessimals-border);border-radius:999px;padding:.3rem .55rem .3rem .35rem;background:rgba(var(--ion-color-light-rgb, 244, 245, 248),.72)}:host-context(html.ion-palette-dark) .chessimals-player-strip,:host-context([data-theme=\"dark\"]) .chessimals-player-strip{background:#ffffff0f}.chessimals-player-strip__avatar{display:grid;place-items:center;flex:0 0 1.75rem;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--chessimals-primary);color:var(--chessimals-primary-contrast);font-size:.875rem;line-height:1}.chessimals-player-strip__text{display:grid;min-width:0;gap:.05rem;line-height:1.1}.chessimals-player-strip__text span{color:var(--chessimals-muted);font-size:.58rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.chessimals-player-strip__text strong{overflow:hidden;font-size:.82rem;line-height:1.08;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-player-strip__text small{overflow:hidden;color:var(--chessimals-muted);font-size:.66rem;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.chessimals-arena{order:4;display:grid;gap:.875rem;align-items:start}.chessimals-howto,.chessimals-tip,.chessimals-result,.chessimals-replay,.chessimals-rematch-status{display:grid;gap:.375rem;padding:1rem;border-radius:1.25rem;background:var(--chessimals-soft)}.chessimals-result{order:5}.chessimals-replay{order:5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;border:1px solid rgba(var(--chessimals-primary-rgb),.2);background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.1),transparent),var(--chessimals-panel)}.chessimals-replay>div:first-child{display:grid;gap:.15rem;min-width:0}.chessimals-replay strong{font-size:1rem;font-weight:950}.chessimals-replay span{color:var(--chessimals-muted);font-size:.86rem;font-weight:800;line-height:1.25}.chessimals-replay__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.chessimals-replay__actions .chessimals-secondary{min-height:2.5rem;padding:0 .8rem}.chessimals-rematch-status{order:5;border:1px solid rgba(var(--chessimals-primary-rgb),.22);background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.12),transparent),var(--chessimals-panel)}.chessimals-rematch-status.is-incoming{border-color:rgba(var(--ion-color-success-rgb, 45, 211, 111),.38);background:linear-gradient(135deg,rgba(var(--ion-color-success-rgb, 45, 211, 111),.14),transparent),var(--chessimals-panel)}.chessimals-rematch-status strong{font-size:1rem;font-weight:950}.chessimals-rematch-status p{margin:0;color:var(--chessimals-muted);font-size:.88rem;line-height:1.35}.chessimals-howto h2,.chessimals-powers h2{margin:0;font-size:1.15rem;font-weight:950}.chessimals-howto p,.chessimals-tip p,.chessimals-powers p{color:var(--chessimals-muted)}.chessimals-learn-more{justify-self:start;min-height:2.75rem;border:0;border-radius:999px;padding:0 1rem;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font:inherit;font-weight:950}.chessimals-size,.chessimals-mode,.chessimals-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.chessimals-status{order:3;grid-template-columns:repeat(3,minmax(0,1fr))}.chessimals-size button,.chessimals-mode button,.chessimals-status div{display:grid;gap:.2rem;align-content:center;min-width:0;min-height:3.875rem;padding:.55rem .65rem;border:1px solid var(--chessimals-border);border-radius:1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;text-align:left}.chessimals-size button.is-selected{border-color:var(--chessimals-primary);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16)}.chessimals-mode button.is-selected{border-color:var(--chessimals-primary);background:linear-gradient(135deg,rgba(var(--chessimals-primary-rgb),.13),transparent),var(--chessimals-panel);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16)}.chessimals-difficulty{display:flex;flex-wrap:wrap;gap:.55rem}.chessimals-difficulty button{min-height:2.75rem;border:1px solid var(--chessimals-border);border-radius:999px;padding:0 1rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;font-weight:950}.chessimals-difficulty button.is-selected{border-color:var(--chessimals-primary);background:var(--chessimals-primary);color:#fff}.chessimals-size strong,.chessimals-mode strong,.chessimals-status strong,.chessimals-result strong,.chessimals-rematch-status strong,.chessimals-tip strong{font-weight:950}.chessimals-status strong{min-width:0;font-size:clamp(.95rem,2.5vw,1.2rem);line-height:1.08;overflow-wrap:anywhere;white-space:normal}.chessimals-size small,.chessimals-mode small,.chessimals-status small{color:var(--chessimals-muted);font-size:.78rem;line-height:1.12}.chessimals-board-wrap{--chessimals-board-radius: min(.85rem, 14px);display:flex;justify-content:center;min-width:0;max-width:100%;overflow-x:auto;width:100%;padding:.25rem 0}.chessimals-board-wrap.is-orienting .chessimals-board-frame{animation:chessimals-orient-board .32s ease}.chessimals-board-wrap.is-finished{overflow-x:visible}.chessimals-board-frame{flex:0 1 58rem;min-width:0;width:100%;max-width:58rem;border-radius:var(--chessimals-board-radius)}.chessimals-board{position:relative;display:grid;grid-template-columns:repeat(var(--board-size),minmax(0,1fr));grid-template-rows:repeat(var(--board-size),minmax(0,1fr));min-width:0;width:100%;aspect-ratio:1 / 1;overflow:hidden;isolation:isolate;contain:paint;border:1px solid var(--chessimals-border);border-radius:var(--chessimals-board-radius);clip-path:inset(0 round var(--chessimals-board-radius));-webkit-mask-image:-webkit-radial-gradient(white,black);background:radial-gradient(ellipse at 16% 18%,rgba(255,255,255,.34),transparent 18%),radial-gradient(ellipse at 82% 78%,rgba(var(--chessimals-primary-rgb),.1),transparent 22%),radial-gradient(ellipse at 32% 68%,rgba(var(--chessimals-stone-rgb),.05),transparent 30%),radial-gradient(ellipse at 66% 34%,rgba(255,255,255,.08),transparent 24%),var(--chessimals-border);box-shadow:inset 0 0 0 1px #ffffff1a,0 .85rem 2.1rem var(--chessimals-board-shadow)}.chessimals-board-wrap.is-syncing .chessimals-board{cursor:wait}.chessimals-cell-coordinate{position:absolute;z-index:5;color:color-mix(in srgb,var(--chessimals-muted) 78%,var(--chessimals-text));font-size:.68rem;font-weight:950;letter-spacing:.02em;line-height:1;pointer-events:none;text-transform:uppercase;-webkit-user-select:none;user-select:none}.chessimals-cell-coordinate--rank{top:.2rem;left:.24rem}.chessimals-cell-coordinate--file{right:.24rem;bottom:.18rem}@keyframes chessimals-orient-board{0%{opacity:.72;filter:blur(.06rem);transform:scale(.985)}52%{opacity:.92;filter:blur(0);transform:scale(1.012)}to{opacity:1;filter:blur(0);transform:scale(1)}}.chessimals-center-line{position:absolute;top:50%;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;border-top:.08rem dashed rgba(var(--chessimals-primary-rgb),.56);filter:drop-shadow(0 0 .24rem rgba(var(--chessimals-primary-rgb),.26));pointer-events:none}.chessimals-power-trail{position:absolute;inset:0;z-index:5;pointer-events:none;--trail-color: rgba(var(--chessimals-selected-rgb), .76);--trail-glow: rgba(var(--chessimals-selected-rgb), .34)}.chessimals-power-trail.is-capture{--trail-color: rgba(var(--chessimals-capture-rgb), .86);--trail-glow: rgba(var(--chessimals-capture-rgb), .46)}.chessimals-power-trail.effect-eagle{--trail-color: rgba(255, 255, 255, .92);--trail-glow: rgba(120, 210, 255, .54)}.chessimals-power-trail.effect-bull{--trail-color: rgba(188, 131, 76, .86);--trail-glow: rgba(188, 131, 76, .36)}.chessimals-power-trail.effect-kangaroo{--trail-color: rgba(174, 124, 255, .86);--trail-glow: rgba(174, 124, 255, .42)}.chessimals-power-trail.effect-lion{--trail-color: rgba(255, 221, 120, .88);--trail-glow: rgba(255, 190, 56, .42)}.chessimals-power-trail>span{position:absolute;top:var(--trail-y);left:var(--trail-x);width:var(--trail-length);height:.45rem;border-radius:999px;background:linear-gradient(90deg,transparent,var(--trail-color) 42%,rgba(255,255,255,.92));box-shadow:0 0 .75rem var(--trail-glow),0 0 1.45rem var(--trail-glow);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0);transform-origin:0 50%;animation:chessimals-power-trail .72s ease-out both}.chessimals-power-trail.effect-eagle>span{height:.28rem;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95) 44%,rgba(120,210,255,.58)),repeating-linear-gradient(90deg,transparent 0 .7rem,rgba(255,255,255,.66) .7rem .92rem);animation-name:chessimals-eagle-trail}.chessimals-power-trail.effect-bull>span{height:.72rem;background:repeating-linear-gradient(90deg,rgba(255,255,255,.42) 0 .18rem,transparent .18rem .42rem),linear-gradient(90deg,transparent,var(--trail-color),rgba(255,255,255,.86));animation-name:chessimals-bull-trail}.chessimals-power-trail.effect-kangaroo>span{height:1rem;border-top:.16rem dashed var(--trail-color);background:transparent;box-shadow:none;filter:drop-shadow(0 0 .8rem var(--trail-glow));animation-name:chessimals-kangaroo-trail}.chessimals-power-trail.effect-lion>span{height:.62rem;background:linear-gradient(90deg,transparent,var(--trail-color),rgba(255,255,255,.82)),repeating-linear-gradient(115deg,rgba(255,255,255,.55) 0 .12rem,transparent .12rem .34rem);animation-name:chessimals-lion-trail}@keyframes chessimals-power-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0)}28%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.72)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}@keyframes chessimals-eagle-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0) skew(-10deg)}30%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.82) skew(-10deg)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1.05) skew(-10deg)}}@keyframes chessimals-bull-trail{0%{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0) scaleY(1)}38%{opacity:1;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.7) scaleY(1.18)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1) scaleY(.82)}}@keyframes chessimals-kangaroo-trail{0%{opacity:0;transform:translateY(-.4rem) rotate(var(--trail-angle)) scaleX(0)}34%{opacity:1;transform:translateY(-1.2rem) rotate(var(--trail-angle)) scaleX(.62)}to{opacity:0;transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}@keyframes chessimals-lion-trail{0%{opacity:0;filter:saturate(1);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(0)}36%{opacity:1;filter:saturate(1.4);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(.76)}to{opacity:0;filter:saturate(1.1);transform:translateY(-50%) rotate(var(--trail-angle)) scaleX(1)}}.chessimals-board-overlay{position:absolute;inset:0;z-index:8;display:grid;place-content:center;gap:.45rem;padding:1.25rem;background:radial-gradient(circle at 50% 36%,rgba(255,226,129,.28),transparent 28%),radial-gradient(circle at 50% 48%,rgba(var(--chessimals-primary-rgb),.3),transparent 44%),#0d0a12c7;color:#fff;text-align:center;backdrop-filter:blur(2px);overflow:hidden}.chessimals-board-overlay:before{position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.5) 0 .08rem,transparent .1rem),radial-gradient(circle at 75% 25%,rgba(255,226,129,.62) 0 .1rem,transparent .12rem),radial-gradient(circle at 68% 72%,rgba(var(--chessimals-capture-rgb),.46) 0 .08rem,transparent .1rem),radial-gradient(circle at 35% 78%,rgba(255,255,255,.42) 0 .07rem,transparent .09rem);content:\"\";opacity:.72;animation:chessimals-victory-sparks 1.5s ease-in-out infinite}.chessimals-board-overlay>*{position:relative;z-index:1}.chessimals-board-overlay span{justify-self:center;border-radius:999px;padding:.32rem .7rem;background:#ffffff26;color:#ffffffe6;font-size:.76rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.chessimals-board-overlay strong{font-size:clamp(1.65rem,8vw,3rem);line-height:1;font-weight:950;text-shadow:0 0 1.25rem rgba(255,255,255,.26)}.chessimals-board-overlay small{color:#ffffffd1;font-size:clamp(.9rem,3vw,1.1rem);font-weight:800}@keyframes chessimals-victory-sparks{0%,to{opacity:.46;transform:translateY(0) scale(.98)}50%{opacity:.95;transform:translateY(-.35rem) scale(1.02)}}.chessimals-cell{position:relative;isolation:isolate;--chessimals-cell-bg: var(--chessimals-cell-light);display:grid;place-items:center;min-width:0;min-height:0;aspect-ratio:1;border:0;background:radial-gradient(ellipse at 24% 22%,rgba(255,255,255,.2),transparent 24%),radial-gradient(ellipse at 78% 76%,rgba(var(--chessimals-stone-rgb),.12),transparent 28%),radial-gradient(ellipse at 38% 64%,rgba(255,255,255,.08),transparent 22%),radial-gradient(ellipse at 64% 42%,rgba(var(--chessimals-stone-rgb),.08),transparent 26%),radial-gradient(circle at 14% 84%,rgba(var(--chessimals-stone-rgb),.05),transparent 18%),var(--chessimals-cell-bg);color:var(--chessimals-text);font:inherit;overflow:hidden;transition:background .16s ease,box-shadow .16s ease,transform .16s ease}.chessimals-cell:before,.chessimals-cell:after{pointer-events:none}.chessimals-cell.is-dark-cell{--chessimals-cell-bg: var(--chessimals-cell-dark)}.chessimals-cell.is-selected{z-index:1;background:radial-gradient(circle,rgba(var(--chessimals-selected-rgb),.28) 0 36%,transparent 62%),linear-gradient(135deg,rgba(var(--chessimals-selected-rgb),.22),#ffffff14),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .18rem var(--chessimals-selected),inset 0 0 .55rem #ffffffb8,inset 0 0 1.8rem rgba(var(--chessimals-selected-rgb),.42),0 0 .55rem rgba(var(--chessimals-selected-rgb),.56),0 0 1.55rem rgba(var(--chessimals-selected-rgb),.36)}.chessimals-cell.is-legal:not(.is-capture):after{position:absolute;inset:13%;z-index:2;border:max(2px,1.8%) solid var(--chessimals-move);border-radius:.55rem;content:\"\";opacity:.74;pointer-events:none}.chessimals-cell.is-last:not(.is-selected):not(.is-legal):not(.is-capture){background:radial-gradient(circle,rgba(var(--chessimals-last-rgb),.16) 0 42%,transparent 68%),var(--chessimals-cell-bg)}.chessimals-cell.is-capture{z-index:2;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.24),transparent 34%),linear-gradient(135deg,rgba(var(--chessimals-capture-rgb),.14),#ffffff14),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .14rem rgba(var(--chessimals-capture-rgb),.84),inset 0 0 1.4rem rgba(var(--chessimals-capture-rgb),.24),0 0 .95rem rgba(var(--chessimals-capture-rgb),.34);animation:chessimals-capture-aura 1.35s ease-in-out infinite}.chessimals-cell.is-capture:before{position:absolute;inset:4%;z-index:1;display:block;border-radius:.64rem;background:linear-gradient(90deg,transparent,rgba(255,255,255,.52),transparent),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.24),transparent 58%);content:\"\";opacity:0;transform:translate(-42%) scale(.9);animation:chessimals-capture-sweep 1.35s ease-in-out infinite}.chessimals-cell.is-capture:after{position:absolute;inset:8%;z-index:3;border:max(2px,1.55%) solid rgba(var(--chessimals-capture-rgb),.9);border-radius:.62rem;box-shadow:0 0 .75rem rgba(var(--chessimals-capture-rgb),.5),inset 0 0 .72rem #ffffff38;content:\"\";pointer-events:none;animation:chessimals-capture-frame 1.35s ease-in-out infinite}@keyframes chessimals-capture-aura{0%,to{filter:saturate(1);box-shadow:inset 0 0 0 .12rem rgba(var(--chessimals-capture-rgb),.78),inset 0 0 1rem rgba(var(--chessimals-capture-rgb),.2),0 0 .64rem rgba(var(--chessimals-capture-rgb),.32)}50%{filter:saturate(1.22);box-shadow:inset 0 0 0 .16rem rgba(var(--chessimals-capture-rgb),.96),inset 0 0 1.34rem rgba(var(--chessimals-capture-rgb),.34),0 0 1.2rem rgba(var(--chessimals-capture-rgb),.48)}}@keyframes chessimals-capture-sweep{0%{opacity:0;transform:translate(-52%) scale(.88)}42%{opacity:.66;transform:translate(0) scale(1)}to{opacity:0;transform:translate(48%) scale(.92)}}@keyframes chessimals-capture-frame{0%,to{opacity:.68;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}.chessimals-cell.has-source-effect:not(.is-moving-source){background:radial-gradient(circle,rgba(var(--chessimals-selected-rgb),.12) 0 34%,transparent 64%),var(--chessimals-cell-bg)}.chessimals-cell.has-move-effect{z-index:2;background:radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.22) 0 34%,transparent 68%),var(--chessimals-cell-bg);box-shadow:inset 0 0 0 .16rem rgba(var(--chessimals-capture-rgb),.86),inset 0 0 1.2rem rgba(var(--chessimals-capture-rgb),.26),0 0 1.1rem rgba(var(--chessimals-capture-rgb),.42)}.chessimals-cell.has-move-effect:before{position:absolute;inset:.12rem;z-index:1;display:block;border-radius:.7rem;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.48),transparent 22%),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.42),transparent 58%);content:\"\";opacity:0;transform:scale(.72);animation:chessimals-power-impact .7s ease-out both}.chessimals-cell.has-move-effect:after{position:absolute;inset:.28rem;z-index:4;display:block;border:.14rem solid rgba(255,255,255,.72);border-radius:.58rem;box-shadow:0 0 .5rem #ffffff5c,0 0 1rem rgba(var(--chessimals-capture-rgb),.32);content:\"\";animation:chessimals-power-frame .86s ease-out both}.chessimals-cell.has-capture-effect{animation:chessimals-capture-hit .78s ease-out both}.chessimals-cell.effect-eagle:before{background:linear-gradient(135deg,transparent 10%,rgba(255,255,255,.78) 48%,transparent 52%),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.36),transparent 62%)}.chessimals-cell.effect-bull:before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.34) 0 .16rem,transparent .16rem .34rem),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.38),transparent 62%)}.chessimals-cell.effect-kangaroo:before{border-radius:999px;background:radial-gradient(circle at 42% 44%,rgba(255,255,255,.58),transparent 18%),radial-gradient(circle at 58% 56%,rgba(var(--chessimals-capture-rgb),.4),transparent 64%)}.chessimals-cell.effect-lion:before{background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.56),transparent,rgba(var(--chessimals-capture-rgb),.4),transparent),radial-gradient(circle at 50% 50%,rgba(var(--chessimals-capture-rgb),.34),transparent 62%)}@keyframes chessimals-power-impact{0%{opacity:0;transform:scale(.54) rotate(0)}28%{opacity:1;transform:scale(.96) rotate(2deg)}to{opacity:0;transform:scale(1.3) rotate(8deg)}}@keyframes chessimals-power-frame{0%{opacity:0;transform:scale(.84)}34%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(1.16)}}@keyframes chessimals-capture-hit{0%,to{filter:saturate(1)}35%{filter:saturate(1.35) brightness(1.08)}}.chessimals-cell.is-moving-source .chessimals-piece{opacity:0}.chessimals-piece{position:relative;z-index:2;display:block;width:68%;height:74%;color:var(--chessimals-primary);--chessimals-piece-fill: var(--chessimals-piece-white-fill);--chessimals-piece-side: var(--chessimals-piece-white-side);--chessimals-piece-line: var(--chessimals-piece-white-line);--chessimals-piece-outline: rgba(82, 65, 46, .24);filter:var(--chessimals-piece-white-shadow)}.chessimals-piece.is-black{color:#fff;--chessimals-piece-fill: var(--chessimals-piece-black-fill);--chessimals-piece-side: var(--chessimals-piece-black-side);--chessimals-piece-line: var(--chessimals-piece-black-line);--chessimals-piece-outline: rgba(255, 255, 255, .16);filter:var(--chessimals-piece-black-shadow)}.chessimals-moving-piece{position:absolute;top:0;left:0;z-index:6;width:calc(100% / var(--board-size));height:calc(100% / var(--board-size));display:grid;place-items:center;pointer-events:none;transform:translate(calc(var(--from-col) * 100%),calc(var(--from-row) * 100%));animation:chessimals-piece-travel .36s cubic-bezier(.2,.82,.24,1) both}@keyframes chessimals-piece-travel{0%{transform:translate(calc(var(--from-col) * 100%),calc(var(--from-row) * 100%)) scale(1)}68%{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%)) scale(1.07)}to{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%)) scale(1)}}.chessimals-piece__side,.chessimals-piece__head,.chessimals-piece__collar,.chessimals-piece__neck,.chessimals-piece__base{position:absolute;display:block;left:50%;background:var(--chessimals-piece-fill);border:max(1px,1.25%) solid var(--chessimals-piece-outline);transform:translate(-50%)}.chessimals-piece__side{top:46%;z-index:0;width:58%;height:41%;border-radius:34% 34% 12% 12%;background:linear-gradient(96deg,var(--chessimals-piece-side) 0 34%,transparent 35%),var(--chessimals-piece-fill);clip-path:polygon(22% 0,78% 0,96% 100%,4% 100%);opacity:.92}.chessimals-piece__head{top:1%;z-index:4;width:48%;height:40%;border-radius:999px;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.72) 0 13%,transparent 14%),linear-gradient(135deg,rgba(255,255,255,.28) 0 34%,transparent 35%),var(--chessimals-piece-fill);box-shadow:inset -.18rem -.12rem #52412e0f,inset 0 -1px 0 var(--chessimals-piece-line)}.chessimals-piece.is-black .chessimals-piece__head{box-shadow:inset .18rem -.12rem #ffffff0f,inset 0 -1px 0 var(--chessimals-piece-line)}.chessimals-piece__collar{top:37%;z-index:5;width:72%;height:15%;border-radius:999px;background:linear-gradient(180deg,#f5cd77 0%,var(--chessimals-piece-gold) 55%,var(--chessimals-piece-gold-dark) 100%);border-color:color-mix(in srgb,var(--chessimals-piece-gold-dark) 72%,transparent);box-shadow:inset 0 .12rem #ffffff47,inset 0 -.08rem #462e1238,0 .08rem .18rem #462e1224}.chessimals-piece__neck{top:50%;z-index:2;width:52%;height:31%;clip-path:polygon(16% 0,84% 0,100% 100%,0 100%);background:linear-gradient(100deg,var(--chessimals-piece-side) 0 28%,transparent 29%),linear-gradient(180deg,var(--chessimals-piece-fill),color-mix(in srgb,var(--chessimals-piece-fill) 78%,var(--chessimals-piece-side)));box-shadow:inset -.12rem .1rem #ffffff14}.chessimals-piece__base{bottom:0;z-index:6;width:86%;height:17%;border-radius:.42rem .42rem .22rem .22rem;background:linear-gradient(100deg,var(--chessimals-piece-side) 0 18%,transparent 19%),linear-gradient(180deg,color-mix(in srgb,var(--chessimals-piece-fill) 92%,#ffffff),var(--chessimals-piece-fill));box-shadow:inset 0 .12rem #ffffff24,inset 0 -.1rem 0 var(--chessimals-piece-line)}.chessimals-target{width:16%;height:16%;border-radius:999px;background:var(--chessimals-move);opacity:.9;box-shadow:0 0 .9rem rgba(var(--chessimals-move-rgb),.42)}.chessimals-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.625rem}.chessimals-cards button{display:grid;gap:.375rem;place-items:center;min-height:5.75rem;padding:.625rem;border:1px solid var(--chessimals-border);border-radius:1.125rem;background:var(--chessimals-panel);color:var(--chessimals-text);font:inherit;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.chessimals-powers__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.chessimals-powers p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.chessimals-powers__heading span{flex:0 0 auto;border-radius:999px;padding:.28rem .62rem;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font-size:.78rem;font-weight:950}.chessimals-cards button.is-selected{border-color:var(--chessimals-primary);box-shadow:0 0 0 2px rgba(var(--chessimals-primary-rgb),.16),0 .9rem 2rem rgba(var(--chessimals-primary-rgb),.13);transform:translateY(-1px)}.chessimals-cards button.is-used{opacity:.42}.chessimals-animal-face{display:grid;place-items:center;width:3.25rem;height:3.25rem;padding:.34rem;overflow:hidden;border-radius:1.2rem;background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.82),transparent 55%),var(--chessimals-animal-face-bg);color:color-mix(in srgb,var(--chessimals-text) 92%,#000);box-shadow:inset 0 0 0 1px var(--chessimals-animal-face-border),0 .45rem 1.15rem #2e3a2c1a}.chessimals-animal-face img{display:block;width:100%;height:100%;object-fit:contain;border-radius:.72rem;background:var(--chessimals-animal-face-inner-bg);box-shadow:inset 0 0 0 1px #2e3a2c14;transform:none;filter:var(--chessimals-animal-face-filter)}.chessimals-cards button.is-selected .chessimals-animal-face,.chessimals-powers.is-ready .chessimals-cards button:not(.is-used) .chessimals-animal-face{background:radial-gradient(circle at 35% 22%,rgba(255,255,255,.82),transparent 55%),var(--chessimals-animal-face-bg);color:color-mix(in srgb,var(--chessimals-text) 94%,#000);box-shadow:inset 0 0 0 1px #2e3a2c24,0 .75rem 1.6rem rgba(var(--chessimals-selected-rgb),.18)}.chessimals-powers.is-locked .chessimals-animal-face{filter:var(--chessimals-animal-face-locked-filter);opacity:.86}.chessimals-powers.is-locked .chessimals-animal-face img,.chessimals-cards button.is-used .chessimals-animal-face img{opacity:var(--chessimals-animal-face-locked-img-opacity)}.chessimals-cards strong{overflow:hidden;max-width:100%;font-size:.82rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.chessimals-powers.is-locked .chessimals-cards{opacity:.68}.chessimals-powers.is-ready{border-color:rgba(var(--chessimals-primary-rgb),.42);box-shadow:0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}.chessimals-powers.is-ready .chessimals-cards button:not(.is-used){animation:chessimalsPowerPulse 1.8s ease-in-out infinite}.chessimals-powers.is-unlock-pulse{animation:chessimalsPowersUnlocked 1.18s ease-out both}.chessimals-powers.is-unlock-pulse .chessimals-cards button:not(.is-used){animation:chessimalsPowerIgnite .76s ease-out both,chessimalsPowerPulse 1.8s ease-in-out .76s infinite}@keyframes chessimalsPowerPulse{0%,to{box-shadow:0 0 rgba(var(--chessimals-primary-rgb),0)}50%{box-shadow:0 0 1.4rem rgba(var(--chessimals-primary-rgb),.22)}}@keyframes chessimalsPowersUnlocked{0%{box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}34%{box-shadow:0 0 0 .18rem rgba(var(--chessimals-selected-rgb),.24),0 0 2.2rem rgba(var(--chessimals-selected-rgb),.34),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.16)}to{box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0),0 1rem 2.4rem rgba(var(--chessimals-primary-rgb),.12)}}@keyframes chessimalsPowerIgnite{0%{transform:translateY(0) scale(.96);box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0)}42%{transform:translateY(-.08rem) scale(1.025);box-shadow:0 0 0 .14rem rgba(var(--chessimals-selected-rgb),.2),0 0 1.5rem rgba(var(--chessimals-selected-rgb),.42)}to{transform:translateY(0) scale(1);box-shadow:0 0 rgba(var(--chessimals-selected-rgb),0)}}.chessimals-actions{order:6;align-self:stretch;justify-self:stretch;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.625rem;margin-top:1rem}.chessimals-shell--projection .chessimals-game{max-width:min(96vw,90rem)}.chessimals-shell--projection .chessimals-turn-card{padding:.875rem 1rem}.chessimals-shell--projection .chessimals-status,.chessimals-shell--projection .chessimals-actions,.chessimals-shell--projection .chessimals-online,.chessimals-shell--projection .chessimals-replay,.chessimals-shell--projection .chessimals-rematch-status{display:none}.chessimals-shell--projection .chessimals-arena{grid-template-columns:minmax(0,1fr);justify-items:center}.chessimals-shell--projection .chessimals-board-wrap{--chessimals-board-radius: min(.625rem, 10px);width:min(96vw,82vh,58rem);max-width:none}.chessimals-shell--projection .chessimals-board-frame{flex-basis:auto;max-width:none}@media (min-width: 760px){.chessimals-game{gap:1rem}.chessimals-turn-card,.chessimals-status,.chessimals-arena,.chessimals-replay,.chessimals-result,.chessimals-actions{grid-column:1 / -1}.chessimals-arena{grid-template-columns:minmax(0,1fr);justify-items:center;align-items:start;gap:1rem}.chessimals-powers{width:min(100%,44rem);align-content:center;grid-template-columns:minmax(11rem,.68fr) minmax(0,1fr);align-items:center;gap:1rem;padding:1rem}.chessimals-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.chessimals-cards button{min-height:5rem}.chessimals-powers p{-webkit-line-clamp:3}}.chessimals-rules{display:grid;gap:1rem;padding-top:.25rem}.chessimals-rules__hero{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:1.35rem;border:1px solid rgba(var(--chessimals-primary-rgb),.18);box-shadow:0 1rem 2.25rem #2e3a2c1f}.chessimals-rules article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;padding:1rem;border:1px solid var(--ion-border-color, #e7e4ea);border-radius:1.25rem;background:var(--ion-card-background, #fff);color:var(--ion-text-color, #2f2a3a)}.chessimals-rules article>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;background:rgba(var(--chessimals-primary-rgb),.12);color:var(--chessimals-primary);font-weight:950}.chessimals-rules article>div{display:grid;min-width:0;gap:.45rem}.chessimals-rules h3,.chessimals-rules p,.chessimals-rules ul{margin:0}.chessimals-rules h3{font-size:1rem;font-weight:950;line-height:1.2}.chessimals-rules p,.chessimals-rules li{color:var(--ion-color-medium, #6f6a7a);line-height:1.5}.chessimals-rules ul{display:grid;gap:.45rem;padding-left:1.15rem}.chessimals-rules__closing{display:grid;place-items:center;justify-self:center;width:min(12rem,62%);padding:.65rem;border-radius:1.25rem;background:color-mix(in srgb,var(--chessimals-surface) 86%,#ffffff 14%);border:1px solid rgba(var(--chessimals-primary-rgb),.14);box-shadow:0 .75rem 1.75rem #2e3a2c1a}.chessimals-rules__closing img{display:block;width:100%;border-radius:.85rem;object-fit:contain}.chessimals-primary,.chessimals-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.625rem;border-radius:999px;font:inherit;font-weight:950}.chessimals-primary{border:0;background:var(--chessimals-primary);color:var(--chessimals-primary-contrast);box-shadow:0 1.125rem 2.8rem rgba(var(--chessimals-primary-rgb),.28)}.chessimals-secondary{border:1px solid var(--chessimals-border);background:transparent;color:var(--chessimals-text)}.chessimals-primary.is-working,.chessimals-secondary.is-working{cursor:wait;opacity:.82}.chessimals-button-spinner{width:1rem;height:1rem;flex:0 0 auto;border:.14rem solid currentColor;border-right-color:transparent;border-radius:999px;animation:chessimals-spin .72s linear infinite}@media (max-width: 560px){.chessimals-size,.chessimals-mode,.chessimals-actions{grid-template-columns:1fr}.chessimals-game{gap:.55rem;border-radius:1.25rem;padding:.625rem}.chessimals-turn-card{flex-direction:column;align-items:stretch;gap:.45rem;min-height:0;border-radius:.95rem;padding:.55rem}.chessimals-turn-card__chip{padding:.18rem .5rem;font-size:.6rem;letter-spacing:.045em;white-space:nowrap}.chessimals-turn-card strong{font-size:clamp(.98rem,5vw,1.25rem);line-height:1.08}.chessimals-turn-card p{font-size:.76rem;line-height:1.2}.chessimals-player-strip{width:100%;max-width:none;min-width:0}.chessimals-status{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.chessimals-status div{gap:.2rem;min-height:2.5rem;border-radius:.95rem;padding:.4rem .35rem}.chessimals-status small{font-size:.66rem;line-height:1.05}.chessimals-status strong{font-size:clamp(.86rem,3.4vw,1rem);line-height:1.05}.chessimals-tip,.chessimals-result,.chessimals-replay{gap:.2rem;border-radius:1rem;padding:.7rem .75rem}.chessimals-tip strong,.chessimals-result strong,.chessimals-replay strong{font-size:.95rem}.chessimals-tip p,.chessimals-result p{font-size:.9rem;line-height:1.28}.chessimals-replay{grid-template-columns:1fr}.chessimals-replay__actions{justify-content:stretch}.chessimals-replay__actions .chessimals-secondary{flex:1 1 8rem}.chessimals-arena{gap:.5rem}.chessimals-board-wrap{width:100%;margin-inline:0;padding:0}.chessimals-board-frame{width:100%}.chessimals-powers{gap:.5rem;border-radius:1rem;padding:.65rem}.chessimals-powers__heading{gap:.4rem}.chessimals-powers h2{font-size:1rem}.chessimals-powers__heading span{padding:.22rem .48rem;font-size:.68rem}.chessimals-powers p{font-size:.78rem;line-height:1.2;-webkit-line-clamp:1}.chessimals-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.chessimals-cards button{gap:.25rem;min-height:4.25rem;border-radius:.85rem;padding:.4rem .25rem}.chessimals-animal-face{width:2.35rem;height:2.35rem;padding:.26rem;border-radius:.85rem}.chessimals-animal-face img{border-radius:.55rem}.chessimals-cards strong{font-size:.66rem}.chessimals-board{border-radius:var(--chessimals-board-radius)}.chessimals-cell-coordinate{font-size:.58rem}}@media (prefers-reduced-motion: reduce){.chessimals-cell.is-capture,.chessimals-cell.is-capture:before,.chessimals-cell.is-capture:after,.chessimals-cell.has-move-effect,.chessimals-cell.has-move-effect:before,.chessimals-cell.has-move-effect:after,.chessimals-cell.has-capture-effect,.chessimals-moving-piece{animation:none!important}.chessimals-moving-piece{transform:translate(calc(var(--to-col) * 100%),calc(var(--to-row) * 100%))}}\n"] }]
65450
65704
  }], ctorParameters: () => [], propDecorators: { boardAnchor: [{
65451
65705
  type: ViewChild,
65452
65706
  args: ['boardAnchor']
@@ -66183,7 +66437,7 @@ class MiniGamesMenuComponent {
66183
66437
  }
66184
66438
  </div>
66185
66439
  </ng-template>
66186
- `, isInline: true, styles: [":host{display:block;--mini-games-panel: #ffffff;--mini-games-surface: #f8f7fb;--mini-games-border: rgba(47, 44, 58, .12);--mini-games-text: #2f2c3a;--mini-games-muted: rgba(47, 44, 58, .68);--mini-games-primary: #6f65d8;--mini-games-primary-rgb: 111, 101, 216;--mini-games-secondary: #67b7c9;--mini-games-secondary-rgb: 103, 183, 201;--mini-games-accent: #8f7ce7;--mini-games-accent-rgb: 143, 124, 231;--mini-games-soft: #f3f1fb;--mini-games-icon-text: #ffffff;--mini-games-focus: rgba(var(--mini-games-primary-rgb), .22);color:var(--mini-games-text)}:host-context(html.ion-palette-dark),:host-context([data-theme=\"dark\"]){--mini-games-panel: #211f2a;--mini-games-surface: #191821;--mini-games-border: rgba(255, 255, 255, .13);--mini-games-text: #f7f4ff;--mini-games-muted: rgba(247, 244, 255, .68);--mini-games-primary: #b7adff;--mini-games-primary-rgb: 183, 173, 255;--mini-games-secondary: #8fd5e5;--mini-games-secondary-rgb: 143, 213, 229;--mini-games-accent: #c7bbff;--mini-games-accent-rgb: 199, 187, 255;--mini-games-soft: #2a2735;--mini-games-icon-text: #211f2a;--mini-games-focus: rgba(var(--mini-games-primary-rgb), .24)}.mini-games-grid{display:grid;gap:.75rem;padding-top:1rem}.mini-games-menu-actions{display:flex;justify-content:flex-end;padding-top:.75rem}.mini-games-player{display:grid;gap:.75rem;margin-top:.75rem;padding:1rem;border:1px solid var(--mini-games-border);border-radius:1.375rem;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--player-color) 12%,transparent),transparent 34%),linear-gradient(135deg,var(--mini-games-panel),var(--mini-games-soft));box-shadow:0 1.125rem 2.75rem #2f2c3a14;color:var(--mini-games-text)}:host-context(html.ion-palette-dark) .mini-games-player,:host-context([data-theme=\"dark\"]) .mini-games-player{border-color:var(--mini-games-border);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--player-color) 14%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--mini-games-panel) 92%,white),var(--mini-games-surface));box-shadow:none}.mini-games-player__head{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center}.mini-games-player__avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--player-color);font-size:1.65rem;box-shadow:0 14px 28px color-mix(in srgb,var(--player-color) 32%,transparent)}.mini-games-player__head small,.mini-games-player__name span{display:block;color:var(--mini-games-muted);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mini-games-player__head strong{display:block;color:inherit;font-size:1.35rem;line-height:1.05;font-weight:950}.mini-games-player__head p{margin:.1875rem 0 0;color:var(--mini-games-muted);font-size:.92rem;line-height:1.32}.mini-games-player__profiles{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.mini-games-player__profiles button{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ion-border-color, #e7e4ea);border-radius:999px;padding:0 12px;background:var(--ion-item-background, transparent);color:inherit;font:inherit;font-size:.9rem;font-weight:850}.mini-games-player__profiles button.is-selected{border-color:var(--player-color);background:color-mix(in srgb,var(--player-color) 16%,var(--ion-card-background, #fff))}.mini-games-player__profiles ion-icon{color:var(--player-color)}.mini-games-player__name{display:grid;gap:6px}.mini-games-player__name input{width:100%;min-height:48px;border:1px solid var(--mini-games-border);border-radius:999px;padding:0 16px;background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text);caret-color:var(--mini-games-primary);font:inherit;font-weight:850}.mini-games-player__name input::placeholder{color:var(--mini-games-muted);opacity:.84}.mini-games-player__name input:focus-visible,.mini-games-player__profiles button:focus-visible,.mini-games-player__choices button:focus-visible,.mini-games-player__add:focus-visible,.mini-games-sound-toggle:focus-visible,.mini-game-card:focus-visible{outline:.1875rem solid var(--mini-games-focus);outline-offset:.1875rem}:host-context(html.ion-palette-dark) .mini-games-player__name input,:host-context([data-theme=\"dark\"]) .mini-games-player__name input{border-color:var(--mini-games-border);background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text)}.mini-games-player__choices{display:flex;flex-wrap:wrap;gap:8px}.mini-games-player__choices button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--mini-games-border);border-radius:999px;background:var(--mini-games-panel);color:var(--mini-games-text);font-size:1.12rem}:host-context(html.ion-palette-dark) .mini-games-player__choices button,:host-context([data-theme=\"dark\"]) .mini-games-player__choices button,:host-context(html.ion-palette-dark) .mini-games-player__profiles button,:host-context([data-theme=\"dark\"]) .mini-games-player__profiles button{border-color:var(--mini-games-border);background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text)}.mini-games-player__choices--colors button{position:relative;overflow:hidden;border-color:rgba(var(--ion-color-dark-rgb, 47, 42, 58),.18);background:var(--swatch-color);box-shadow:inset 0 0 0 2px #ffffff3d,0 10px 22px color-mix(in srgb,var(--swatch-color) 24%,transparent)}.mini-games-player__choices--colors button:after{content:\"\";width:13px;height:13px;border-radius:999px;background:#ffffff57;box-shadow:0 0 12px #ffffff38}.mini-games-player__choices button.is-selected{border-color:var(--player-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color) 18%,transparent)}:host-context(html.ion-palette-dark) .mini-games-player__choices button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__choices button.is-selected,:host-context(html.ion-palette-dark) .mini-games-player__profiles button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__profiles button.is-selected{border-color:var(--player-color);background:color-mix(in srgb,var(--player-color) 18%,var(--ion-card-background, #1f1b28))}:host-context(html.ion-palette-dark) .mini-games-player__choices--colors button,:host-context([data-theme=\"dark\"]) .mini-games-player__choices--colors button{border-color:rgba(var(--ion-color-light-rgb, 244, 245, 248),.32);background:var(--swatch-color);box-shadow:inset 0 0 0 2px #ffffff38,0 0 0 1px #00000047,0 12px 24px color-mix(in srgb,var(--swatch-color) 34%,transparent)}.mini-games-player__choices--colors button.is-selected,:host-context(html.ion-palette-dark) .mini-games-player__choices--colors button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__choices--colors button.is-selected{border-color:var(--mini-games-accent);background:var(--swatch-color);box-shadow:0 0 0 .1875rem rgba(var(--mini-games-accent-rgb),.26),inset 0 0 0 2px #ffffff47,0 14px 28px color-mix(in srgb,var(--swatch-color) 36%,transparent)}.mini-games-player__add{justify-self:end;display:inline-flex;align-items:center;gap:7px;min-height:42px;border:0;border-radius:999px;padding:0 14px;background:color-mix(in srgb,var(--player-color) 16%,var(--mini-games-panel));color:var(--mini-games-primary);font:inherit;font-size:.92rem;font-weight:900}.mini-games-sound-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--mini-games-border);border-radius:999px;background:var(--mini-games-panel);color:var(--mini-games-text);font:inherit;font-size:14px;font-weight:850}:host-context(html.ion-palette-dark) .mini-games-sound-toggle,:host-context([data-theme=\"dark\"]) .mini-games-sound-toggle{border-color:var(--mini-games-border);background:var(--mini-games-panel);color:var(--mini-games-text)}.mini-games-sound-toggle ion-icon{color:var(--mini-games-primary)}.mini-games-sound-toggle span{max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-games-page-head{display:grid;gap:8px;padding:8px 0 4px;text-align:center}.mini-games-page-head h1{margin:0;color:var(--mini-games-text);font-size:clamp(2.5rem,9vw,4rem);line-height:.95;font-weight:950}.mini-games-page-head p{max-width:32.5rem;margin:0 auto;color:var(--mini-games-muted);font-size:clamp(1rem,3vw,1.25rem);line-height:1.35}.mini-game-card{width:100%;display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:16px;border:1px solid var(--mini-games-border);border-radius:18px;background:radial-gradient(circle at 20% 10%,rgba(var(--mini-games-primary-rgb),.1),transparent 32%),linear-gradient(135deg,var(--mini-games-panel),var(--mini-games-soft));color:var(--mini-games-text);text-align:left;transition:border-color .16s ease,transform .16s ease,background .16s ease}:host-context(html.ion-palette-dark) .mini-game-card,:host-context([data-theme=\"dark\"]) .mini-game-card{border-color:var(--mini-games-border);background:radial-gradient(circle at 20% 10%,rgba(var(--mini-games-primary-rgb),.14),transparent 32%),linear-gradient(135deg,color-mix(in srgb,var(--mini-games-panel) 92%,white),var(--mini-games-surface));color:var(--mini-games-text)}.mini-game-card:not(:disabled){cursor:pointer}.mini-game-card:not(:disabled):hover{border-color:var(--mini-games-primary);transform:translateY(-1px)}.mini-game-card:disabled{opacity:.55}.mini-game-card__icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.35),transparent 32%),linear-gradient(135deg,var(--mini-games-primary),var(--mini-games-secondary));color:var(--mini-games-icon-text);font-size:34px;box-shadow:0 .875rem 2.25rem rgba(var(--mini-games-primary-rgb),.28)}.mini-game-card__icon--image{overflow:hidden;padding:.35rem;background:#fff}.mini-game-card__icon img{display:block;width:100%;height:100%;border-radius:1rem;object-fit:contain}.mini-game-card__content{display:flex;min-width:0;flex-direction:column;gap:4px}.mini-game-card__content strong{font-size:20px;line-height:1.1}.mini-game-card__content small{color:var(--mini-games-muted);font-size:14px;line-height:1.35}.mini-game-card__action{display:inline-flex;align-items:center;gap:6px;padding-top:6px;color:var(--mini-games-primary);font-weight:800}@media (max-width: 420px){.mini-game-card{grid-template-columns:56px 1fr;padding:14px}.mini-game-card__icon{width:56px;height:56px;border-radius:16px;font-size:28px}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: ModalLayoutComponent, selector: "val-modal-layout", inputs: ["title", "subtitle", "closeLabel", "showClose", "actions", "actionsAlign", "footer", "footerClass"], outputs: ["close", "actionClick"] }] }); }
66440
+ `, isInline: true, styles: [":host{display:block;--mini-games-panel: #ffffff;--mini-games-surface: #f8f7fb;--mini-games-border: rgba(47, 44, 58, .12);--mini-games-text: #2f2c3a;--mini-games-muted: rgba(47, 44, 58, .68);--mini-games-primary: #6f65d8;--mini-games-primary-rgb: 111, 101, 216;--mini-games-secondary: #67b7c9;--mini-games-secondary-rgb: 103, 183, 201;--mini-games-accent: #8f7ce7;--mini-games-accent-rgb: 143, 124, 231;--mini-games-soft: #f3f1fb;--mini-games-icon-text: #ffffff;--mini-games-focus: rgba(var(--mini-games-primary-rgb), .22);color:var(--mini-games-text)}:host-context(html.ion-palette-dark),:host-context([data-theme=\"dark\"]){--mini-games-panel: #211f2a;--mini-games-surface: #191821;--mini-games-border: rgba(255, 255, 255, .13);--mini-games-text: #f7f4ff;--mini-games-muted: rgba(247, 244, 255, .68);--mini-games-primary: #b7adff;--mini-games-primary-rgb: 183, 173, 255;--mini-games-secondary: #8fd5e5;--mini-games-secondary-rgb: 143, 213, 229;--mini-games-accent: #c7bbff;--mini-games-accent-rgb: 199, 187, 255;--mini-games-soft: #2a2735;--mini-games-icon-text: #211f2a;--mini-games-focus: rgba(var(--mini-games-primary-rgb), .24)}.mini-games-grid{display:grid;gap:.75rem;padding-top:1rem}.mini-games-menu-actions{display:flex;justify-content:flex-end;padding-top:.75rem}.mini-games-player{display:grid;gap:.75rem;margin-top:.75rem;padding:1rem;border:1px solid var(--mini-games-border);border-radius:1.375rem;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--player-color) 12%,transparent),transparent 34%),linear-gradient(135deg,var(--mini-games-panel),var(--mini-games-soft));box-shadow:0 1.125rem 2.75rem #2f2c3a14;color:var(--mini-games-text)}:host-context(html.ion-palette-dark) .mini-games-player,:host-context([data-theme=\"dark\"]) .mini-games-player{border-color:var(--mini-games-border);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--player-color) 14%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--mini-games-panel) 92%,white),var(--mini-games-surface));box-shadow:none}.mini-games-player__head{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center}.mini-games-player__avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--player-color);font-size:1.65rem;box-shadow:0 14px 28px color-mix(in srgb,var(--player-color) 32%,transparent)}.mini-games-player__head small,.mini-games-player__name span{display:block;color:var(--mini-games-muted);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mini-games-player__head strong{display:block;color:inherit;font-size:1.35rem;line-height:1.05;font-weight:950}.mini-games-player__head p{margin:.1875rem 0 0;color:var(--mini-games-muted);font-size:.92rem;line-height:1.32}.mini-games-player__profiles{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.mini-games-player__profiles button{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ion-border-color, #e7e4ea);border-radius:999px;padding:0 12px;background:var(--ion-item-background, transparent);color:inherit;font:inherit;font-size:.9rem;font-weight:850}.mini-games-player__profiles button.is-selected{border-color:var(--player-color);background:color-mix(in srgb,var(--player-color) 16%,var(--ion-card-background, #fff))}.mini-games-player__profiles ion-icon{color:var(--player-color)}.mini-games-player__name{display:grid;gap:6px}.mini-games-player__name input{width:100%;min-height:48px;border:1px solid var(--mini-games-border);border-radius:999px;padding:0 16px;background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text);caret-color:var(--mini-games-primary);font:inherit;font-weight:850}.mini-games-player__name input::placeholder{color:var(--mini-games-muted);opacity:.84}.mini-games-player__name input:focus-visible,.mini-games-player__profiles button:focus-visible,.mini-games-player__choices button:focus-visible,.mini-games-player__add:focus-visible,.mini-games-sound-toggle:focus-visible,.mini-game-card:focus-visible{outline:.1875rem solid var(--mini-games-focus);outline-offset:.1875rem}:host-context(html.ion-palette-dark) .mini-games-player__name input,:host-context([data-theme=\"dark\"]) .mini-games-player__name input{border-color:var(--mini-games-border);background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text)}.mini-games-player__choices{display:flex;flex-wrap:wrap;gap:8px}.mini-games-player__choices button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--mini-games-border);border-radius:999px;background:var(--mini-games-panel);color:var(--mini-games-text);font-size:1.12rem}:host-context(html.ion-palette-dark) .mini-games-player__choices button,:host-context([data-theme=\"dark\"]) .mini-games-player__choices button,:host-context(html.ion-palette-dark) .mini-games-player__profiles button,:host-context([data-theme=\"dark\"]) .mini-games-player__profiles button{border-color:var(--mini-games-border);background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text)}.mini-games-player__choices--colors button{position:relative;overflow:hidden;border-color:rgba(var(--ion-color-dark-rgb, 47, 42, 58),.18);background:var(--swatch-color);box-shadow:inset 0 0 0 2px #ffffff3d,0 10px 22px color-mix(in srgb,var(--swatch-color) 24%,transparent)}.mini-games-player__choices--colors button:after{content:\"\";width:13px;height:13px;border-radius:999px;background:#ffffff57;box-shadow:0 0 12px #ffffff38}.mini-games-player__choices button.is-selected{border-color:var(--player-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color) 18%,transparent)}:host-context(html.ion-palette-dark) .mini-games-player__choices button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__choices button.is-selected,:host-context(html.ion-palette-dark) .mini-games-player__profiles button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__profiles button.is-selected{border-color:var(--player-color);background:color-mix(in srgb,var(--player-color) 18%,var(--ion-card-background, #1f1b28))}:host-context(html.ion-palette-dark) .mini-games-player__choices--colors button,:host-context([data-theme=\"dark\"]) .mini-games-player__choices--colors button{border-color:rgba(var(--ion-color-light-rgb, 244, 245, 248),.32);background:var(--swatch-color);box-shadow:inset 0 0 0 2px #ffffff38,0 0 0 1px #00000047,0 12px 24px color-mix(in srgb,var(--swatch-color) 34%,transparent)}.mini-games-player__choices--colors button.is-selected,:host-context(html.ion-palette-dark) .mini-games-player__choices--colors button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__choices--colors button.is-selected{border-color:var(--mini-games-accent);background:var(--swatch-color);box-shadow:0 0 0 .1875rem rgba(var(--mini-games-accent-rgb),.26),inset 0 0 0 2px #ffffff47,0 14px 28px color-mix(in srgb,var(--swatch-color) 36%,transparent)}.mini-games-player__add{justify-self:end;display:inline-flex;align-items:center;gap:7px;min-height:42px;border:0;border-radius:999px;padding:0 14px;background:color-mix(in srgb,var(--player-color) 16%,var(--mini-games-panel));color:var(--mini-games-primary);font:inherit;font-size:.92rem;font-weight:900}.mini-games-sound-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--mini-games-border);border-radius:999px;background:var(--mini-games-panel);color:var(--mini-games-text);font:inherit;font-size:14px;font-weight:850}:host-context(html.ion-palette-dark) .mini-games-sound-toggle,:host-context([data-theme=\"dark\"]) .mini-games-sound-toggle{border-color:var(--mini-games-border);background:var(--mini-games-panel);color:var(--mini-games-text)}.mini-games-sound-toggle ion-icon{color:var(--mini-games-primary)}.mini-games-sound-toggle span{max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-games-page-head{display:grid;gap:8px;padding:8px 0 4px;text-align:center}.mini-games-page-head h1{margin:0;color:var(--mini-games-text);font-size:clamp(2.5rem,9vw,4rem);line-height:.95;font-weight:950}.mini-games-page-head p{max-width:32.5rem;margin:0 auto;color:var(--mini-games-muted);font-size:clamp(1rem,3vw,1.25rem);line-height:1.35}.mini-game-card{width:100%;display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:16px;border:1px solid var(--mini-games-border);border-radius:18px;background:radial-gradient(circle at 20% 10%,rgba(var(--mini-games-primary-rgb),.1),transparent 32%),linear-gradient(135deg,var(--mini-games-panel),var(--mini-games-soft));color:var(--mini-games-text);text-align:left;transition:border-color .16s ease,transform .16s ease,background .16s ease}:host-context(html.ion-palette-dark) .mini-game-card,:host-context([data-theme=\"dark\"]) .mini-game-card{border-color:var(--mini-games-border);background:radial-gradient(circle at 20% 10%,rgba(var(--mini-games-primary-rgb),.14),transparent 32%),linear-gradient(135deg,color-mix(in srgb,var(--mini-games-panel) 92%,white),var(--mini-games-surface));color:var(--mini-games-text)}.mini-game-card:not(:disabled){cursor:pointer}.mini-game-card:not(:disabled):hover{border-color:var(--mini-games-primary);transform:translateY(-1px)}.mini-game-card:disabled{opacity:.55}.mini-game-card__icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.35),transparent 32%),linear-gradient(135deg,var(--mini-games-primary),var(--mini-games-secondary));color:var(--mini-games-icon-text);font-size:34px;box-shadow:0 .875rem 2.25rem rgba(var(--mini-games-primary-rgb),.28)}.mini-game-card__icon--image{overflow:hidden;background:#fff}.mini-game-card__icon img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover;object-position:center;transform:scale(1.34)}.mini-game-card__content{display:flex;min-width:0;flex-direction:column;gap:4px}.mini-game-card__content strong{font-size:20px;line-height:1.1}.mini-game-card__content small{color:var(--mini-games-muted);font-size:14px;line-height:1.35}.mini-game-card__action{display:inline-flex;align-items:center;gap:6px;padding-top:6px;color:var(--mini-games-primary);font-weight:800}@media (max-width: 420px){.mini-game-card{grid-template-columns:56px 1fr;padding:14px}.mini-game-card__icon{width:56px;height:56px;border-radius:16px;font-size:28px}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: ModalLayoutComponent, selector: "val-modal-layout", inputs: ["title", "subtitle", "closeLabel", "showClose", "actions", "actionsAlign", "footer", "footerClass"], outputs: ["close", "actionClick"] }] }); }
66187
66441
  }
66188
66442
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MiniGamesMenuComponent, decorators: [{
66189
66443
  type: Component,
@@ -66300,7 +66554,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
66300
66554
  }
66301
66555
  </div>
66302
66556
  </ng-template>
66303
- `, styles: [":host{display:block;--mini-games-panel: #ffffff;--mini-games-surface: #f8f7fb;--mini-games-border: rgba(47, 44, 58, .12);--mini-games-text: #2f2c3a;--mini-games-muted: rgba(47, 44, 58, .68);--mini-games-primary: #6f65d8;--mini-games-primary-rgb: 111, 101, 216;--mini-games-secondary: #67b7c9;--mini-games-secondary-rgb: 103, 183, 201;--mini-games-accent: #8f7ce7;--mini-games-accent-rgb: 143, 124, 231;--mini-games-soft: #f3f1fb;--mini-games-icon-text: #ffffff;--mini-games-focus: rgba(var(--mini-games-primary-rgb), .22);color:var(--mini-games-text)}:host-context(html.ion-palette-dark),:host-context([data-theme=\"dark\"]){--mini-games-panel: #211f2a;--mini-games-surface: #191821;--mini-games-border: rgba(255, 255, 255, .13);--mini-games-text: #f7f4ff;--mini-games-muted: rgba(247, 244, 255, .68);--mini-games-primary: #b7adff;--mini-games-primary-rgb: 183, 173, 255;--mini-games-secondary: #8fd5e5;--mini-games-secondary-rgb: 143, 213, 229;--mini-games-accent: #c7bbff;--mini-games-accent-rgb: 199, 187, 255;--mini-games-soft: #2a2735;--mini-games-icon-text: #211f2a;--mini-games-focus: rgba(var(--mini-games-primary-rgb), .24)}.mini-games-grid{display:grid;gap:.75rem;padding-top:1rem}.mini-games-menu-actions{display:flex;justify-content:flex-end;padding-top:.75rem}.mini-games-player{display:grid;gap:.75rem;margin-top:.75rem;padding:1rem;border:1px solid var(--mini-games-border);border-radius:1.375rem;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--player-color) 12%,transparent),transparent 34%),linear-gradient(135deg,var(--mini-games-panel),var(--mini-games-soft));box-shadow:0 1.125rem 2.75rem #2f2c3a14;color:var(--mini-games-text)}:host-context(html.ion-palette-dark) .mini-games-player,:host-context([data-theme=\"dark\"]) .mini-games-player{border-color:var(--mini-games-border);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--player-color) 14%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--mini-games-panel) 92%,white),var(--mini-games-surface));box-shadow:none}.mini-games-player__head{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center}.mini-games-player__avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--player-color);font-size:1.65rem;box-shadow:0 14px 28px color-mix(in srgb,var(--player-color) 32%,transparent)}.mini-games-player__head small,.mini-games-player__name span{display:block;color:var(--mini-games-muted);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mini-games-player__head strong{display:block;color:inherit;font-size:1.35rem;line-height:1.05;font-weight:950}.mini-games-player__head p{margin:.1875rem 0 0;color:var(--mini-games-muted);font-size:.92rem;line-height:1.32}.mini-games-player__profiles{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.mini-games-player__profiles button{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ion-border-color, #e7e4ea);border-radius:999px;padding:0 12px;background:var(--ion-item-background, transparent);color:inherit;font:inherit;font-size:.9rem;font-weight:850}.mini-games-player__profiles button.is-selected{border-color:var(--player-color);background:color-mix(in srgb,var(--player-color) 16%,var(--ion-card-background, #fff))}.mini-games-player__profiles ion-icon{color:var(--player-color)}.mini-games-player__name{display:grid;gap:6px}.mini-games-player__name input{width:100%;min-height:48px;border:1px solid var(--mini-games-border);border-radius:999px;padding:0 16px;background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text);caret-color:var(--mini-games-primary);font:inherit;font-weight:850}.mini-games-player__name input::placeholder{color:var(--mini-games-muted);opacity:.84}.mini-games-player__name input:focus-visible,.mini-games-player__profiles button:focus-visible,.mini-games-player__choices button:focus-visible,.mini-games-player__add:focus-visible,.mini-games-sound-toggle:focus-visible,.mini-game-card:focus-visible{outline:.1875rem solid var(--mini-games-focus);outline-offset:.1875rem}:host-context(html.ion-palette-dark) .mini-games-player__name input,:host-context([data-theme=\"dark\"]) .mini-games-player__name input{border-color:var(--mini-games-border);background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text)}.mini-games-player__choices{display:flex;flex-wrap:wrap;gap:8px}.mini-games-player__choices button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--mini-games-border);border-radius:999px;background:var(--mini-games-panel);color:var(--mini-games-text);font-size:1.12rem}:host-context(html.ion-palette-dark) .mini-games-player__choices button,:host-context([data-theme=\"dark\"]) .mini-games-player__choices button,:host-context(html.ion-palette-dark) .mini-games-player__profiles button,:host-context([data-theme=\"dark\"]) .mini-games-player__profiles button{border-color:var(--mini-games-border);background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text)}.mini-games-player__choices--colors button{position:relative;overflow:hidden;border-color:rgba(var(--ion-color-dark-rgb, 47, 42, 58),.18);background:var(--swatch-color);box-shadow:inset 0 0 0 2px #ffffff3d,0 10px 22px color-mix(in srgb,var(--swatch-color) 24%,transparent)}.mini-games-player__choices--colors button:after{content:\"\";width:13px;height:13px;border-radius:999px;background:#ffffff57;box-shadow:0 0 12px #ffffff38}.mini-games-player__choices button.is-selected{border-color:var(--player-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color) 18%,transparent)}:host-context(html.ion-palette-dark) .mini-games-player__choices button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__choices button.is-selected,:host-context(html.ion-palette-dark) .mini-games-player__profiles button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__profiles button.is-selected{border-color:var(--player-color);background:color-mix(in srgb,var(--player-color) 18%,var(--ion-card-background, #1f1b28))}:host-context(html.ion-palette-dark) .mini-games-player__choices--colors button,:host-context([data-theme=\"dark\"]) .mini-games-player__choices--colors button{border-color:rgba(var(--ion-color-light-rgb, 244, 245, 248),.32);background:var(--swatch-color);box-shadow:inset 0 0 0 2px #ffffff38,0 0 0 1px #00000047,0 12px 24px color-mix(in srgb,var(--swatch-color) 34%,transparent)}.mini-games-player__choices--colors button.is-selected,:host-context(html.ion-palette-dark) .mini-games-player__choices--colors button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__choices--colors button.is-selected{border-color:var(--mini-games-accent);background:var(--swatch-color);box-shadow:0 0 0 .1875rem rgba(var(--mini-games-accent-rgb),.26),inset 0 0 0 2px #ffffff47,0 14px 28px color-mix(in srgb,var(--swatch-color) 36%,transparent)}.mini-games-player__add{justify-self:end;display:inline-flex;align-items:center;gap:7px;min-height:42px;border:0;border-radius:999px;padding:0 14px;background:color-mix(in srgb,var(--player-color) 16%,var(--mini-games-panel));color:var(--mini-games-primary);font:inherit;font-size:.92rem;font-weight:900}.mini-games-sound-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--mini-games-border);border-radius:999px;background:var(--mini-games-panel);color:var(--mini-games-text);font:inherit;font-size:14px;font-weight:850}:host-context(html.ion-palette-dark) .mini-games-sound-toggle,:host-context([data-theme=\"dark\"]) .mini-games-sound-toggle{border-color:var(--mini-games-border);background:var(--mini-games-panel);color:var(--mini-games-text)}.mini-games-sound-toggle ion-icon{color:var(--mini-games-primary)}.mini-games-sound-toggle span{max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-games-page-head{display:grid;gap:8px;padding:8px 0 4px;text-align:center}.mini-games-page-head h1{margin:0;color:var(--mini-games-text);font-size:clamp(2.5rem,9vw,4rem);line-height:.95;font-weight:950}.mini-games-page-head p{max-width:32.5rem;margin:0 auto;color:var(--mini-games-muted);font-size:clamp(1rem,3vw,1.25rem);line-height:1.35}.mini-game-card{width:100%;display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:16px;border:1px solid var(--mini-games-border);border-radius:18px;background:radial-gradient(circle at 20% 10%,rgba(var(--mini-games-primary-rgb),.1),transparent 32%),linear-gradient(135deg,var(--mini-games-panel),var(--mini-games-soft));color:var(--mini-games-text);text-align:left;transition:border-color .16s ease,transform .16s ease,background .16s ease}:host-context(html.ion-palette-dark) .mini-game-card,:host-context([data-theme=\"dark\"]) .mini-game-card{border-color:var(--mini-games-border);background:radial-gradient(circle at 20% 10%,rgba(var(--mini-games-primary-rgb),.14),transparent 32%),linear-gradient(135deg,color-mix(in srgb,var(--mini-games-panel) 92%,white),var(--mini-games-surface));color:var(--mini-games-text)}.mini-game-card:not(:disabled){cursor:pointer}.mini-game-card:not(:disabled):hover{border-color:var(--mini-games-primary);transform:translateY(-1px)}.mini-game-card:disabled{opacity:.55}.mini-game-card__icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.35),transparent 32%),linear-gradient(135deg,var(--mini-games-primary),var(--mini-games-secondary));color:var(--mini-games-icon-text);font-size:34px;box-shadow:0 .875rem 2.25rem rgba(var(--mini-games-primary-rgb),.28)}.mini-game-card__icon--image{overflow:hidden;padding:.35rem;background:#fff}.mini-game-card__icon img{display:block;width:100%;height:100%;border-radius:1rem;object-fit:contain}.mini-game-card__content{display:flex;min-width:0;flex-direction:column;gap:4px}.mini-game-card__content strong{font-size:20px;line-height:1.1}.mini-game-card__content small{color:var(--mini-games-muted);font-size:14px;line-height:1.35}.mini-game-card__action{display:inline-flex;align-items:center;gap:6px;padding-top:6px;color:var(--mini-games-primary);font-weight:800}@media (max-width: 420px){.mini-game-card{grid-template-columns:56px 1fr;padding:14px}.mini-game-card__icon{width:56px;height:56px;border-radius:16px;font-size:28px}}\n"] }]
66557
+ `, styles: [":host{display:block;--mini-games-panel: #ffffff;--mini-games-surface: #f8f7fb;--mini-games-border: rgba(47, 44, 58, .12);--mini-games-text: #2f2c3a;--mini-games-muted: rgba(47, 44, 58, .68);--mini-games-primary: #6f65d8;--mini-games-primary-rgb: 111, 101, 216;--mini-games-secondary: #67b7c9;--mini-games-secondary-rgb: 103, 183, 201;--mini-games-accent: #8f7ce7;--mini-games-accent-rgb: 143, 124, 231;--mini-games-soft: #f3f1fb;--mini-games-icon-text: #ffffff;--mini-games-focus: rgba(var(--mini-games-primary-rgb), .22);color:var(--mini-games-text)}:host-context(html.ion-palette-dark),:host-context([data-theme=\"dark\"]){--mini-games-panel: #211f2a;--mini-games-surface: #191821;--mini-games-border: rgba(255, 255, 255, .13);--mini-games-text: #f7f4ff;--mini-games-muted: rgba(247, 244, 255, .68);--mini-games-primary: #b7adff;--mini-games-primary-rgb: 183, 173, 255;--mini-games-secondary: #8fd5e5;--mini-games-secondary-rgb: 143, 213, 229;--mini-games-accent: #c7bbff;--mini-games-accent-rgb: 199, 187, 255;--mini-games-soft: #2a2735;--mini-games-icon-text: #211f2a;--mini-games-focus: rgba(var(--mini-games-primary-rgb), .24)}.mini-games-grid{display:grid;gap:.75rem;padding-top:1rem}.mini-games-menu-actions{display:flex;justify-content:flex-end;padding-top:.75rem}.mini-games-player{display:grid;gap:.75rem;margin-top:.75rem;padding:1rem;border:1px solid var(--mini-games-border);border-radius:1.375rem;background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--player-color) 12%,transparent),transparent 34%),linear-gradient(135deg,var(--mini-games-panel),var(--mini-games-soft));box-shadow:0 1.125rem 2.75rem #2f2c3a14;color:var(--mini-games-text)}:host-context(html.ion-palette-dark) .mini-games-player,:host-context([data-theme=\"dark\"]) .mini-games-player{border-color:var(--mini-games-border);background:radial-gradient(circle at 12% 0%,color-mix(in srgb,var(--player-color) 14%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in srgb,var(--mini-games-panel) 92%,white),var(--mini-games-surface));box-shadow:none}.mini-games-player__head{display:grid;grid-template-columns:58px 1fr;gap:12px;align-items:center}.mini-games-player__avatar{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--player-color);font-size:1.65rem;box-shadow:0 14px 28px color-mix(in srgb,var(--player-color) 32%,transparent)}.mini-games-player__head small,.mini-games-player__name span{display:block;color:var(--mini-games-muted);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.mini-games-player__head strong{display:block;color:inherit;font-size:1.35rem;line-height:1.05;font-weight:950}.mini-games-player__head p{margin:.1875rem 0 0;color:var(--mini-games-muted);font-size:.92rem;line-height:1.32}.mini-games-player__profiles{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.mini-games-player__profiles button{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--ion-border-color, #e7e4ea);border-radius:999px;padding:0 12px;background:var(--ion-item-background, transparent);color:inherit;font:inherit;font-size:.9rem;font-weight:850}.mini-games-player__profiles button.is-selected{border-color:var(--player-color);background:color-mix(in srgb,var(--player-color) 16%,var(--ion-card-background, #fff))}.mini-games-player__profiles ion-icon{color:var(--player-color)}.mini-games-player__name{display:grid;gap:6px}.mini-games-player__name input{width:100%;min-height:48px;border:1px solid var(--mini-games-border);border-radius:999px;padding:0 16px;background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text);caret-color:var(--mini-games-primary);font:inherit;font-weight:850}.mini-games-player__name input::placeholder{color:var(--mini-games-muted);opacity:.84}.mini-games-player__name input:focus-visible,.mini-games-player__profiles button:focus-visible,.mini-games-player__choices button:focus-visible,.mini-games-player__add:focus-visible,.mini-games-sound-toggle:focus-visible,.mini-game-card:focus-visible{outline:.1875rem solid var(--mini-games-focus);outline-offset:.1875rem}:host-context(html.ion-palette-dark) .mini-games-player__name input,:host-context([data-theme=\"dark\"]) .mini-games-player__name input{border-color:var(--mini-games-border);background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text)}.mini-games-player__choices{display:flex;flex-wrap:wrap;gap:8px}.mini-games-player__choices button{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--mini-games-border);border-radius:999px;background:var(--mini-games-panel);color:var(--mini-games-text);font-size:1.12rem}:host-context(html.ion-palette-dark) .mini-games-player__choices button,:host-context([data-theme=\"dark\"]) .mini-games-player__choices button,:host-context(html.ion-palette-dark) .mini-games-player__profiles button,:host-context([data-theme=\"dark\"]) .mini-games-player__profiles button{border-color:var(--mini-games-border);background:color-mix(in srgb,var(--mini-games-panel) 88%,white);color:var(--mini-games-text)}.mini-games-player__choices--colors button{position:relative;overflow:hidden;border-color:rgba(var(--ion-color-dark-rgb, 47, 42, 58),.18);background:var(--swatch-color);box-shadow:inset 0 0 0 2px #ffffff3d,0 10px 22px color-mix(in srgb,var(--swatch-color) 24%,transparent)}.mini-games-player__choices--colors button:after{content:\"\";width:13px;height:13px;border-radius:999px;background:#ffffff57;box-shadow:0 0 12px #ffffff38}.mini-games-player__choices button.is-selected{border-color:var(--player-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--player-color) 18%,transparent)}:host-context(html.ion-palette-dark) .mini-games-player__choices button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__choices button.is-selected,:host-context(html.ion-palette-dark) .mini-games-player__profiles button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__profiles button.is-selected{border-color:var(--player-color);background:color-mix(in srgb,var(--player-color) 18%,var(--ion-card-background, #1f1b28))}:host-context(html.ion-palette-dark) .mini-games-player__choices--colors button,:host-context([data-theme=\"dark\"]) .mini-games-player__choices--colors button{border-color:rgba(var(--ion-color-light-rgb, 244, 245, 248),.32);background:var(--swatch-color);box-shadow:inset 0 0 0 2px #ffffff38,0 0 0 1px #00000047,0 12px 24px color-mix(in srgb,var(--swatch-color) 34%,transparent)}.mini-games-player__choices--colors button.is-selected,:host-context(html.ion-palette-dark) .mini-games-player__choices--colors button.is-selected,:host-context([data-theme=\"dark\"]) .mini-games-player__choices--colors button.is-selected{border-color:var(--mini-games-accent);background:var(--swatch-color);box-shadow:0 0 0 .1875rem rgba(var(--mini-games-accent-rgb),.26),inset 0 0 0 2px #ffffff47,0 14px 28px color-mix(in srgb,var(--swatch-color) 36%,transparent)}.mini-games-player__add{justify-self:end;display:inline-flex;align-items:center;gap:7px;min-height:42px;border:0;border-radius:999px;padding:0 14px;background:color-mix(in srgb,var(--player-color) 16%,var(--mini-games-panel));color:var(--mini-games-primary);font:inherit;font-size:.92rem;font-weight:900}.mini-games-sound-toggle{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--mini-games-border);border-radius:999px;background:var(--mini-games-panel);color:var(--mini-games-text);font:inherit;font-size:14px;font-weight:850}:host-context(html.ion-palette-dark) .mini-games-sound-toggle,:host-context([data-theme=\"dark\"]) .mini-games-sound-toggle{border-color:var(--mini-games-border);background:var(--mini-games-panel);color:var(--mini-games-text)}.mini-games-sound-toggle ion-icon{color:var(--mini-games-primary)}.mini-games-sound-toggle span{max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-games-page-head{display:grid;gap:8px;padding:8px 0 4px;text-align:center}.mini-games-page-head h1{margin:0;color:var(--mini-games-text);font-size:clamp(2.5rem,9vw,4rem);line-height:.95;font-weight:950}.mini-games-page-head p{max-width:32.5rem;margin:0 auto;color:var(--mini-games-muted);font-size:clamp(1rem,3vw,1.25rem);line-height:1.35}.mini-game-card{width:100%;display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;padding:16px;border:1px solid var(--mini-games-border);border-radius:18px;background:radial-gradient(circle at 20% 10%,rgba(var(--mini-games-primary-rgb),.1),transparent 32%),linear-gradient(135deg,var(--mini-games-panel),var(--mini-games-soft));color:var(--mini-games-text);text-align:left;transition:border-color .16s ease,transform .16s ease,background .16s ease}:host-context(html.ion-palette-dark) .mini-game-card,:host-context([data-theme=\"dark\"]) .mini-game-card{border-color:var(--mini-games-border);background:radial-gradient(circle at 20% 10%,rgba(var(--mini-games-primary-rgb),.14),transparent 32%),linear-gradient(135deg,color-mix(in srgb,var(--mini-games-panel) 92%,white),var(--mini-games-surface));color:var(--mini-games-text)}.mini-game-card:not(:disabled){cursor:pointer}.mini-game-card:not(:disabled):hover{border-color:var(--mini-games-primary);transform:translateY(-1px)}.mini-game-card:disabled{opacity:.55}.mini-game-card__icon{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.35),transparent 32%),linear-gradient(135deg,var(--mini-games-primary),var(--mini-games-secondary));color:var(--mini-games-icon-text);font-size:34px;box-shadow:0 .875rem 2.25rem rgba(var(--mini-games-primary-rgb),.28)}.mini-game-card__icon--image{overflow:hidden;background:#fff}.mini-game-card__icon img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover;object-position:center;transform:scale(1.34)}.mini-game-card__content{display:flex;min-width:0;flex-direction:column;gap:4px}.mini-game-card__content strong{font-size:20px;line-height:1.1}.mini-game-card__content small{color:var(--mini-games-muted);font-size:14px;line-height:1.35}.mini-game-card__action{display:inline-flex;align-items:center;gap:6px;padding-top:6px;color:var(--mini-games-primary);font-weight:800}@media (max-width: 420px){.mini-game-card{grid-template-columns:56px 1fr;padding:14px}.mini-game-card__icon{width:56px;height:56px;border-radius:16px;font-size:28px}}\n"] }]
66304
66558
  }], ctorParameters: () => [], propDecorators: { games: [{
66305
66559
  type: Input
66306
66560
  }], asModal: [{
@@ -82012,5 +82266,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
82012
82266
  * Generated bundle index. Do not edit.
82013
82267
  */
82014
82268
 
82015
- export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, APP_VERSION_PLATFORM_PLUGIN, APP_VERSION_REMOTE_PLUGIN, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, ARTICLE_STRIP_DEFAULTS, AUTH_CTA_DEFAULTS, AVATAR_UPLOAD_DEFAULTS, AboutViewComponent, AccordionComponent, AccountViewComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, ApiKeyCreateModalComponent, ApiKeyService, ApiKeysModalComponent, ApiKeysViewComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, ArticleStripComponent, AttachmentUploaderComponent, AuthBackgroundComponent, AuthCtaComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CALLOUT_LABELS, CHEV_KEYS, CIRCLE_KEYS, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CORNER_KEYS, CTA_CARD_DEFAULTS, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, ChangeEmailModalComponent, ChangePasswordModalComponent, ChatComposerComponent, ChatInputComponent, ChatWindowComponent, CheckInputComponent, CheckboxRadioInputComponent, ChessimalsGameComponent, ChessimalsOnlineService, ChipGroupComponent, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentLoaderComponent, ContentReactionComponent, ContentReactionModalComponent, ContentService, ContentTransformer, ConversationListItemComponent, ConversationService, CookieBannerComponent, CookieSettingsComponent, CountdownComponent, CreateOrgModalComponent, CtaCardComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_APP_VERSION_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, DEFAULT_BUTTON_PRESETS, DEFAULT_CANCEL_BUTTON, DEFAULT_CHECK_INTERVAL_MS, DEFAULT_CONFIRM_BUTTON, DEFAULT_COUNTDOWN_LABELS, DEFAULT_COUNTDOWN_LABELS_EN, DEFAULT_DEBUG_CONSOLE_CONFIG, DEFAULT_DONATION_CONFIG, DEFAULT_EMPTY_STATE, DEFAULT_EMULATOR_CONFIG, DEFAULT_FEEDBACK_CONFIG, DEFAULT_FEEDBACK_TYPE_OPTIONS, DEFAULT_HOME_HEADER, DEFAULT_INFINITE_LIST_METADATA, DEFAULT_LOGIN_LOGO, DEFAULT_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLATFORMS, DEFAULT_POST_UPDATE_GRACE_MS, DEFAULT_PRESETS, DEFAULT_REFRESHER_METADATA, DEFAULT_SKELETON_CONFIG, DEFAULT_SPLASH_SCREEN_CONFIG, DataTableComponent, DatasetPaginationService, DateInputComponent, DatePickerComponent, DateRangeInputComponent, DebugConsoleComponent, DeleteAccountModalComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DonationService, DownloadService, EditOrgModalComponent, EmptyStateComponent, EntityCardComponent, EntityFeedService, ExpandableTextComponent, ExternalBrowserService, FEATURES_LIST_DEFAULTS, FUN_MODAL_DEFAULTS, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FieldListComponent, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FontSizeOption, FontSizeSelectorComponent, FontSizeService, FooterComponent, FooterLinksComponent, FormComponent, FormFieldComponent, FormSchemaBuilderService, FormSkeletonComponent, FunHeaderComponent, FunModalComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HapticsService, HasPermissionDirective, HeaderActionsService, HeaderComponent, HintComponent, HorizontalScrollComponent, HrefComponent, HtmlViewerModalComponent, I18nService, IMAGE_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, INVITATION_CARD_DEFAULTS, IONIC_COLORS$5 as IONIC_COLORS, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, InfoComponent, InputI18nHelper, InputType, InvitationCardComponent, InviteMemberModalComponent, ItemListComponent, KNOWN_ROUTES, LANG_STORAGE_KEY$1 as LANG_STORAGE_KEY, LEGAL_CONTENT_CONFIG, LOGGED_IN_HINT_COOKIE, LOGIN_DEFAULTS, LandingSplitComponent, LandingStepsComponent, LanguageSelectorComponent, LanguageSelectorV2Component, LayeredCardComponent, LegalContentService, LegalLinkService, LinkComponent, LinkProcessorService, LinkedProvidersComponent, LinksAccordionComponent, LinksCakeComponent, ListSkeletonComponent, LiveReadFallbackService, LoadMoreComponent, LoadingDirective, LocalStorageService, LocaleService, LoginAttemptModalComponent, LoginComponent, MEDIA_OBJECT_DEFAULTS, MEMBER_CARD_DEFAULTS, META_SCHEMA_VERSION, METRIC_CARD_DEFAULTS, MINI_GAME_PLAYER_AVATARS, MINI_GAME_PLAYER_COLORS, MODAL_SIZES, MOTIF_KEYS, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MediaObjectComponent, MediaViewerModalComponent, MemberCardComponent, MemberDetailModalComponent, MemberImportModalComponent, MemoryGameComponent, MenuComponent, MessageBubbleComponent, MessagingService, MetaService, MetricCardComponent, MfaModalComponent, MiniGamePlayerProfileService, MiniGamesMenuComponent, ModalLayoutComponent, ModalService, ModalShellComponent, MultiSelectSearchComponent, NUM_KEYS, NavigationService, NetworkBannerComponent, NetworkStatusService, NewsBuilder, NoContentComponent, NotesBoxComponent, NotificationActionService, NotificationPreferencesViewComponent, NotificationsService, NotificationsViewComponent, NumberFromToComponent, NumberStepperComponent, OAUTH_PROVIDERS_INFO, OAuthCallbackComponent, OAuthService, OperationReferenceComponent, OptionCardsComponent, OrgInfoSheetComponent, OrgService, OrgSwitchService, OrganizationViewComponent, PATTERN_MOTIFS, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, PLATFORM_CONFIGS, POST_UPDATE_TS_KEY, PageContentComponent, PageLinksComponent, PageRefreshService, PageTemplateComponent, PageWavesComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PatternComponent, PdfService, PermissionCatalogService, PermissionSelectorComponent, PermissionsModalComponent, PermissionsViewComponent, PhoneDisplayComponent, PhoneFormatService, PhoneInputComponent, PickerV2Component, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PreferencesService, PreferencesViewComponent, PresetService, PriceTagComponent, PricingTableComponent, ProcessLinksPipe, ProfileContentComponent, ProfileModalComponent, ProfileSkeletonComponent, ProfileViewComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QrScannerComponent, QueryBuilder, QuoteBoxComponent, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, ReactionBarComponent, ReactionsService, RefresherComponent, RequestFirestoreService, RequestFormBuilderService, RequestFormComponent, RequestModalComponent, RequestService, RetroAudioService, RightsFooterComponent, RotatingTextComponent, SEARCH_HEADER_DEFAULTS, SETTINGS_SECTIONS_CATALOG, SHAPE_KEYS, SHARE_PROFILE_MODAL_DEFAULTS, SKELETON_LAYOUT_DEFAULT_ROWS, SKELETON_PRESETS, SOLID_KEYS, STATS_BAR_DEFAULTS, STROKE_KEYS, SearchHeaderComponent, SearchSelectorComponent, SearchbarComponent, SectionHeaderComponent, SecurityViewComponent, SegmentControlComponent, SelectSearchComponent, SessionListModalComponent, SessionService, SessionTransitionOverlayComponent, SettingsHubComponent, ShareButtonsComponent, ShareProfileModalComponent, SimonGameComponent, SimpleComponent, SkeletonComponent, SkeletonLayoutComponent, SkeletonService, SplashComponent, SplashScreenService, StatsBarComponent, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, SwitchOrgModalComponent, TRI_KEYS, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, ThreadPanelComponent, TicketCardComponent, TicketCardImageService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, TransferOwnershipModalComponent, TranslatePipe, TypedCollection, TypingIndicatorComponent, UPDATE_BANNER_DEFAULT_CONTENT, UPDATE_BANNER_I18N_NAMESPACE, UpdateBannerComponent, UsageMetersComponent, UsageService, UserAvatarComponent, UsernameInputComponent, VALTECH_ADS_CONFIG, VALTECH_APP_CONFIG, VALTECH_APP_VERSION, VALTECH_AUTH_CONFIG, VALTECH_CHAT_CONFIG, VALTECH_COMPANY_LINKS, VALTECH_CONTENT_CONFIG, VALTECH_DEBUG_CONSOLE, VALTECH_DEFAULT_CONTENT, VALTECH_DONATION_CONFIG, VALTECH_FEEDBACK_CONFIG, VALTECH_FIREBASE_CONFIG, VALTECH_FOOTER_I18N, VALTECH_FOOTER_LOGO, VALTECH_LANGUAGE_SELECTOR, VALTECH_LEGAL_CONFIG, VALTECH_NETWORK_ERROR_KEY, VALTECH_REACTIONS_CONFIG, VALTECH_SETTINGS_MENU_LINKS, VALTECH_SITE_PATHS, VALTECH_SOCIAL_LINKS, VALTECH_SPLASH_SCREEN, VALTECH_WEB_BASE_URLS, VALTECH_WHATSAPP_CONFIG, VERSION, ValtechErrorService, VerifyViewComponent, WhatsappFabComponent, WhatsappService, WizardComponent, WizardFooterComponent, WorkflowService, applyChessimalsMove, applyDefaultValueToControl, authGuard, authInterceptor, authPasswordValidator, beautifyLegalArticle, blogPost, buildCompanyFooterProps, buildFooterLinks, buildLegalLinkResolver, buildPath, buildSettingsCards, button, canSubmitRequestType, chooseChessimalsBotMove, collections, connectPageRefresh, createChessimalsGame, createErrorStateProps, createFirebaseConfig, createGlowCardProps, createInitialDatasetState, createInitialPaginationState, createNumberFromToField, createPageState, createPermissionLabeler, createRefreshableStream, createTitleProps, datasetPageFromLegacyCursor, docs, errorLoggingInterceptor, extractPathParams, formatClockTime, formatDateSeparator, formatRelativeTime, generatePatternTiles, generateRandomTile, getAppInfo, getAppVersion, getChessimalsAllLegalMoves, getChessimalsLegalMoves, getChessimalsPieceAt, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, groupPermissionsByScope, guestGuard, hasEmulators, iconButton, interpretError, isAtEnd, isCollectionPath, isDocumentPath, isEmulatorMode, isIonicColor, isKnownRoute, isValidPath, joinPath, maxLength, mulberry32, news, parseMarkdownArticle, permissionGuard, permissionGuardFromRoute, positionKey, provideLegalContent, provideSplashScreen, provideValtechAboutRoutes, provideValtechAccountRoutes, provideValtechAds, provideValtechApiKeysRoutes, provideValtechAppConfig, provideValtechAppVersion, provideValtechAppVersionHttp, provideValtechAuth, provideValtechAuthInterceptor, provideValtechChat, provideValtechContent, provideValtechDebugConsole, provideValtechDonations, provideValtechErrorHandling, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechLegal, provideValtechNotificationClickActions, provideValtechNotificationPreferencesRoutes, provideValtechNotificationsRoutes, provideValtechOrganizationRoutes, provideValtechPermissionsRoutes, provideValtechPreferencesRoutes, provideValtechPresets, provideValtechProfileRoutes, provideValtechReactions, provideValtechSecurityRoutes, provideValtechSettingsRoutes, provideValtechSite, provideValtechSkeleton, provideValtechWhatsapp, query, rbacGuard, renderPatternSvgInner, replaceSpecialChars, requestSubmitMode, resignChessimalsGame, resolveColor, resolveInputDefaultValue, resolveIonicColor, resolveWebBaseUrl, roleGuard, selectableRequestTypes, storagePaths, superAdminGuard, toArticle, validateRoutes };
82269
+ export { ACTION_CARD_DEFAULTS, AD_SIZE_MAP, API_TABLE_COLUMN_LABELS, APP_VERSION_PLATFORM_PLUGIN, APP_VERSION_REMOTE_PLUGIN, ARTICLE_CARD_DEFAULTS, ARTICLE_SPACING, ARTICLE_STRIP_DEFAULTS, AUTH_CTA_DEFAULTS, AVATAR_UPLOAD_DEFAULTS, AboutViewComponent, AccordionComponent, AccountViewComponent, ActionCardComponent, ActionHeaderComponent, ActionType, AdSlotComponent, AdsLoaderService, AdsService, AlertBoxComponent, AnalyticsErrorHandler, AnalyticsRouterTracker, AnalyticsService, AnimatedTerminalComponent, ApiKeyCreateModalComponent, ApiKeyService, ApiKeysModalComponent, ApiKeysViewComponent, AppConfigService, AppVersionService, ArticleBuilder, ArticleCardComponent, ArticleComponent, ArticleStripComponent, AttachmentUploaderComponent, AuthBackgroundComponent, AuthCtaComponent, AuthService, AuthStateService, AuthStorageService, AuthSyncService, AvatarComponent, AvatarUploadComponent, BOTTOM_NAV_DEFAULTS, BannerComponent, BlogPostBuilder, BottomNavComponent, BoxComponent, BreadcrumbComponent, ButtonComponent, ButtonGroupComponent, CALLOUT_LABELS, CHEV_KEYS, CIRCLE_KEYS, COMMON_COUNTRY_CODES, COMMON_CURRENCIES, CORNER_KEYS, CTA_CARD_DEFAULTS, CURRENCY_INFO, CardComponent, CardSection, CardType, CardsCarouselComponent, ChangeEmailModalComponent, ChangePasswordModalComponent, ChatComposerComponent, ChatInputComponent, ChatWindowComponent, CheckInputComponent, CheckboxRadioInputComponent, ChessimalsGameComponent, ChessimalsOnlineService, ChipGroupComponent, CodeDisplayComponent, CommandDisplayComponent, CommentComponent, CommentInputComponent, CommentSectionComponent, CompanyFooterComponent, ComponentStates, ConfirmationDialogService, ContainerComponent, ContentLoaderComponent, ContentReactionComponent, ContentReactionModalComponent, ContentService, ContentTransformer, ConversationListItemComponent, ConversationService, CookieBannerComponent, CookieSettingsComponent, CountdownComponent, CreateOrgModalComponent, CtaCardComponent, CurrencyInputComponent, DEFAULT_ADS_CONFIG, DEFAULT_APP_CONFIG_SERVICE_CONFIG, DEFAULT_APP_VERSION_SERVICE_CONFIG, DEFAULT_AUTH_CONFIG, DEFAULT_BACK_HEADER, DEFAULT_BUTTON_PRESETS, DEFAULT_CANCEL_BUTTON, DEFAULT_CHECK_INTERVAL_MS, DEFAULT_CONFIRM_BUTTON, DEFAULT_COUNTDOWN_LABELS, DEFAULT_COUNTDOWN_LABELS_EN, DEFAULT_DEBUG_CONSOLE_CONFIG, DEFAULT_DONATION_CONFIG, DEFAULT_EMPTY_STATE, DEFAULT_EMULATOR_CONFIG, DEFAULT_FEEDBACK_CONFIG, DEFAULT_FEEDBACK_TYPE_OPTIONS, DEFAULT_HOME_HEADER, DEFAULT_INFINITE_LIST_METADATA, DEFAULT_LOGIN_LOGO, DEFAULT_MODAL_CANCEL_BUTTON, DEFAULT_MODAL_CONFIRM_BUTTON, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLATFORMS, DEFAULT_POST_UPDATE_GRACE_MS, DEFAULT_PRESETS, DEFAULT_REFRESHER_METADATA, DEFAULT_SKELETON_CONFIG, DEFAULT_SPLASH_SCREEN_CONFIG, DataTableComponent, DatasetPaginationService, DateInputComponent, DatePickerComponent, DateRangeInputComponent, DebugConsoleComponent, DeleteAccountModalComponent, DetailSkeletonComponent, DeviceService, DisplayComponent, DividerComponent, DocsApiTableComponent, DocsBreadcrumbComponent, DocsBuilder, DocsCalloutComponent, DocsCodeExampleComponent, DocsLayoutComponent, DocsNavLinksComponent, DocsNavigationService, DocsPageComponent, DocsSearchComponent, DocsSectionComponent, DocsShellComponent, DocsSidebarComponent, DocsTocComponent, DonationService, DownloadService, EditOrgModalComponent, EmptyStateComponent, EntityCardComponent, EntityFeedService, ExpandableTextComponent, ExternalBrowserService, FEATURES_LIST_DEFAULTS, FUN_MODAL_DEFAULTS, FabComponent, FaqComponent, FeaturesListComponent, FeedbackFormComponent, FeedbackService, FieldListComponent, FileInputComponent, FirebaseService, FirestoreCollectionFactory, FirestoreService, FontSizeOption, FontSizeSelectorComponent, FontSizeService, FooterComponent, FooterLinksComponent, FormComponent, FormFieldComponent, FormSchemaBuilderService, FormSkeletonComponent, FunHeaderComponent, FunModalComponent, GlassComponent, GlowCardComponent, GlowComponent, GridSkeletonComponent, HANDOFF_ROUTE_PARAM, HANDOFF_TOKEN_PARAM, HandoffService, HapticsService, HasPermissionDirective, HeaderActionsService, HeaderComponent, HintComponent, HorizontalScrollComponent, HrefComponent, HtmlViewerModalComponent, I18nService, IMAGE_DEFAULTS, INITIAL_AUTH_STATE, INITIAL_MFA_STATE, INVITATION_CARD_DEFAULTS, IONIC_COLORS$5 as IONIC_COLORS, Icon, IconComponent, IconService, ImageComponent, ImageCropComponent, ImageService, InAppBrowserService, InfiniteListComponent, InfoComponent, InputI18nHelper, InputType, InvitationCardComponent, InviteMemberModalComponent, ItemListComponent, KNOWN_ROUTES, LANG_STORAGE_KEY$1 as LANG_STORAGE_KEY, LEGAL_CONTENT_CONFIG, LOGGED_IN_HINT_COOKIE, LOGIN_DEFAULTS, LandingSplitComponent, LandingStepsComponent, LanguageSelectorComponent, LanguageSelectorV2Component, LayeredCardComponent, LegalContentService, LegalLinkService, LinkComponent, LinkProcessorService, LinkedProvidersComponent, LinksAccordionComponent, LinksCakeComponent, ListSkeletonComponent, LiveReadFallbackService, LoadMoreComponent, LoadingDirective, LocalStorageService, LocaleService, LoginAttemptModalComponent, LoginComponent, MEDIA_OBJECT_DEFAULTS, MEMBER_CARD_DEFAULTS, META_SCHEMA_VERSION, METRIC_CARD_DEFAULTS, MINI_GAME_PLAYER_AVATARS, MINI_GAME_PLAYER_COLORS, MODAL_SIZES, MOTIF_KEYS, MOTION, MaintenancePageComponent, MarkdownArticleParserService, MediaObjectComponent, MediaViewerModalComponent, MemberCardComponent, MemberDetailModalComponent, MemberImportModalComponent, MemoryGameComponent, MenuComponent, MessageBubbleComponent, MessagingService, MetaService, MetricCardComponent, MfaModalComponent, MiniGamePlayerProfileService, MiniGamesMenuComponent, ModalLayoutComponent, ModalService, ModalShellComponent, MultiSelectSearchComponent, NUM_KEYS, NavigationService, NetworkBannerComponent, NetworkStatusService, NewsBuilder, NoContentComponent, NotesBoxComponent, NotificationActionService, NotificationPreferencesViewComponent, NotificationsService, NotificationsViewComponent, NumberFromToComponent, NumberStepperComponent, OAUTH_PROVIDERS_INFO, OAuthCallbackComponent, OAuthService, OperationReferenceComponent, OptionCardsComponent, OrgInfoSheetComponent, OrgService, OrgSwitchService, OrganizationViewComponent, PATTERN_MOTIFS, PATTERN_PALETTES, PATTERN_STYLE_CONFIGS, PLATFORM_CONFIGS, POST_UPDATE_TS_KEY, PageContentComponent, PageLinksComponent, PageRefreshService, PageTemplateComponent, PageWavesComponent, PageWrapperComponent, PaginationComponent, PaginationService, PasswordInputComponent, PatternComponent, PdfService, PermissionCatalogService, PermissionSelectorComponent, PermissionsModalComponent, PermissionsViewComponent, PhoneDisplayComponent, PhoneFormatService, PhoneInputComponent, PickerV2Component, PillComponent, PinInputComponent, PlainCodeBoxComponent, PopoverSelectorComponent, PreferencesService, PreferencesViewComponent, PresetService, PriceTagComponent, PricingTableComponent, ProcessLinksPipe, ProfileContentComponent, ProfileModalComponent, ProfileSkeletonComponent, ProfileViewComponent, ProgressBarComponent, ProgressRingComponent, ProgressStatusComponent, PrompterComponent, QR_PRESETS, QrCodeComponent, QrGeneratorService, QrScannerComponent, QueryBuilder, QuoteBoxComponent, REQUEST_STATUSES, RadioInputComponent, RangeInputComponent, RatingComponent, ReactionBarComponent, ReactionsService, RefresherComponent, RequestFirestoreService, RequestFormBuilderService, RequestFormComponent, RequestModalComponent, RequestService, RetroAudioService, RightsFooterComponent, RotatingTextComponent, SEARCH_HEADER_DEFAULTS, SETTINGS_SECTIONS_CATALOG, SHAPE_KEYS, SHARE_PROFILE_MODAL_DEFAULTS, SKELETON_LAYOUT_DEFAULT_ROWS, SKELETON_PRESETS, SOLID_KEYS, STATS_BAR_DEFAULTS, STROKE_KEYS, SearchHeaderComponent, SearchSelectorComponent, SearchbarComponent, SectionHeaderComponent, SecurityViewComponent, SegmentControlComponent, SelectSearchComponent, SessionListModalComponent, SessionService, SessionTransitionOverlayComponent, SettingsHubComponent, ShareButtonsComponent, ShareProfileModalComponent, SimonGameComponent, SimpleComponent, SkeletonComponent, SkeletonLayoutComponent, SkeletonService, SplashComponent, SplashScreenService, StatsBarComponent, StatsCardComponent, StepperComponent, StorageService, SwipeCarouselComponent, SwitchOrgModalComponent, TRI_KEYS, TabbedContentComponent, TableSkeletonComponent, TabsComponent, Terminal404Component, TestimonialCardComponent, TestimonialCarouselComponent, TextComponent, TextInputComponent, TextareaInputComponent, ThemeOption, ThemeService, ThreadPanelComponent, TicketCardComponent, TicketCardImageService, TimelineComponent, TitleBlockComponent, TitleComponent, ToastService, ToggleInputComponent, TokenService, ToolbarActionType, ToolbarComponent, TransferOwnershipModalComponent, TranslatePipe, TypedCollection, TypingIndicatorComponent, UPDATE_BANNER_DEFAULT_CONTENT, UPDATE_BANNER_I18N_NAMESPACE, UpdateBannerComponent, UsageMetersComponent, UsageService, UserAvatarComponent, UsernameInputComponent, VALTECH_ADS_CONFIG, VALTECH_APP_CONFIG, VALTECH_APP_VERSION, VALTECH_AUTH_CONFIG, VALTECH_CHAT_CONFIG, VALTECH_COMPANY_LINKS, VALTECH_CONTENT_CONFIG, VALTECH_DEBUG_CONSOLE, VALTECH_DEFAULT_CONTENT, VALTECH_DONATION_CONFIG, VALTECH_FEEDBACK_CONFIG, VALTECH_FIREBASE_CONFIG, VALTECH_FOOTER_I18N, VALTECH_FOOTER_LOGO, VALTECH_LANGUAGE_SELECTOR, VALTECH_LEGAL_CONFIG, VALTECH_NETWORK_ERROR_KEY, VALTECH_REACTIONS_CONFIG, VALTECH_SETTINGS_MENU_LINKS, VALTECH_SITE_PATHS, VALTECH_SOCIAL_LINKS, VALTECH_SPLASH_SCREEN, VALTECH_WEB_BASE_URLS, VALTECH_WHATSAPP_CONFIG, VERSION, ValtechErrorService, VerifyViewComponent, WhatsappFabComponent, WhatsappService, WizardComponent, WizardFooterComponent, WorkflowService, applyChessimalsMove, applyDefaultValueToControl, authGuard, authInterceptor, authPasswordValidator, beautifyLegalArticle, blogPost, buildCompanyFooterProps, buildFooterLinks, buildLegalLinkResolver, buildPath, buildSettingsCards, button, canSubmitRequestType, chooseChessimalsBotMove, collections, connectPageRefresh, createChessimalsGame, createChessimalsReviewState, createErrorStateProps, createFirebaseConfig, createGlowCardProps, createInitialDatasetState, createInitialPaginationState, createNumberFromToField, createPageState, createPermissionLabeler, createRefreshableStream, createTitleProps, datasetPageFromLegacyCursor, docs, errorLoggingInterceptor, extractPathParams, formatClockTime, formatDateSeparator, formatRelativeTime, generatePatternTiles, generateRandomTile, getAppInfo, getAppVersion, getChessimalsAllLegalMoves, getChessimalsLegalMoves, getChessimalsPieceAt, getCollectionPath, getDocumentId, getTimeOfDayKey, goToTop, groupPermissionsByScope, guestGuard, hasEmulators, iconButton, interpretError, isAtEnd, isCollectionPath, isDocumentPath, isEmulatorMode, isIonicColor, isKnownRoute, isValidPath, joinPath, maxLength, mulberry32, news, parseMarkdownArticle, permissionGuard, permissionGuardFromRoute, positionKey, provideLegalContent, provideSplashScreen, provideValtechAboutRoutes, provideValtechAccountRoutes, provideValtechAds, provideValtechApiKeysRoutes, provideValtechAppConfig, provideValtechAppVersion, provideValtechAppVersionHttp, provideValtechAuth, provideValtechAuthInterceptor, provideValtechChat, provideValtechContent, provideValtechDebugConsole, provideValtechDonations, provideValtechErrorHandling, provideValtechFeedback, provideValtechFirebase, provideValtechI18n, provideValtechLegal, provideValtechNotificationClickActions, provideValtechNotificationPreferencesRoutes, provideValtechNotificationsRoutes, provideValtechOrganizationRoutes, provideValtechPermissionsRoutes, provideValtechPreferencesRoutes, provideValtechPresets, provideValtechProfileRoutes, provideValtechReactions, provideValtechSecurityRoutes, provideValtechSettingsRoutes, provideValtechSite, provideValtechSkeleton, provideValtechWhatsapp, query, rbacGuard, renderPatternSvgInner, replaceSpecialChars, requestSubmitMode, resignChessimalsGame, resolveColor, resolveInputDefaultValue, resolveIonicColor, resolveWebBaseUrl, roleGuard, selectableRequestTypes, storagePaths, superAdminGuard, toArticle, validateRoutes };
82016
82270
  //# sourceMappingURL=valtech-components.mjs.map