valtech-components 4.0.432 → 4.0.433

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.432';
61
+ const VERSION = '4.0.433';
62
62
 
63
63
  // Control de estado de refresco (singleton a nivel de módulo)
64
64
  let isRefreshing = false;
@@ -62492,6 +62492,9 @@ const MINI_GAMES_I18N = {
62492
62492
  christianityOfferingReady: 'Lista',
62493
62493
  christianityOfferingExhausted: 'Agotada',
62494
62494
  christianityOfferingBody: 'Se agota para pagar costes y vuelve a estar lista al comenzar tu turno.',
62495
+ christianityOfferingNoAbility: 'Esta ofrenda no tiene habilidad activable.',
62496
+ christianityUseAbility: 'Usar',
62497
+ christianityCloseOfferings: 'Cerrar ofrendas',
62495
62498
  christianityCharacterBody: 'Entra a batalla y debe esperar un turno para atacar.',
62496
62499
  christianityCharacterReady: 'Listo para atacar.',
62497
62500
  christianityCharacterExhausted: 'No puede atacar todavía.',
@@ -62915,6 +62918,9 @@ const MINI_GAMES_I18N = {
62915
62918
  christianityOfferingReady: 'Ready',
62916
62919
  christianityOfferingExhausted: 'Exhausted',
62917
62920
  christianityOfferingBody: 'Exhaust it to pay costs. It readies again at the start of your turn.',
62921
+ christianityOfferingNoAbility: 'This offering has no active ability.',
62922
+ christianityUseAbility: 'Use',
62923
+ christianityCloseOfferings: 'Close offerings',
62918
62924
  christianityCharacterBody: 'Enters battle and must wait one turn before attacking.',
62919
62925
  christianityCharacterReady: 'Ready to attack.',
62920
62926
  christianityCharacterExhausted: 'Cannot attack yet.',
@@ -67921,6 +67927,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
67921
67927
 
67922
67928
  const STARTER_CARDS = {
67923
67929
  o_simple: { id: 'o_simple', name: 'Ofrenda simple', type: 'offering', cost: 0, attack: 0, life: 1 },
67930
+ o_forbidden: {
67931
+ id: 'o_forbidden',
67932
+ name: 'El fruto prohibido',
67933
+ type: 'offering',
67934
+ cost: 0,
67935
+ attack: 0,
67936
+ life: 2,
67937
+ abilityName: 'Conocimiento del bien y del mal',
67938
+ abilityText: 'Al usarla, disminuye en 1 los puntos de vida de tu Lider.',
67939
+ abilityCost: 0,
67940
+ },
67924
67941
  p_scout: { id: 'p_scout', name: 'Scout', type: 'character', cost: 1, attack: 1, life: 1 },
67925
67942
  p_guard: { id: 'p_guard', name: 'Guard', type: 'character', cost: 2, attack: 1, life: 3 },
67926
67943
  p_warrior: { id: 'p_warrior', name: 'Warrior', type: 'character', cost: 2, attack: 2, life: 2 },
@@ -67930,6 +67947,7 @@ const STARTER_CARDS = {
67930
67947
  const STARTING_SHARED_DECK = [
67931
67948
  'o_simple',
67932
67949
  'p_scout',
67950
+ 'o_forbidden',
67933
67951
  'o_simple',
67934
67952
  'p_guard',
67935
67953
  'p_warrior',
@@ -67966,7 +67984,20 @@ const STARTING_GAME = {
67966
67984
  leaderName: 'Adam',
67967
67985
  leaderHp: 15,
67968
67986
  leaderMaxHp: 15,
67969
- offerings: [{ instanceId: 'p1_offering_001', cardId: 'o_simple', name: 'Ofrenda simple', owner: 'P1', ready: true, value: 1 }],
67987
+ offerings: [
67988
+ { instanceId: 'p1_offering_001', cardId: 'o_simple', name: 'Ofrenda simple', owner: 'P1', ready: true, value: 1 },
67989
+ {
67990
+ instanceId: 'p1_offering_002',
67991
+ cardId: 'o_forbidden',
67992
+ name: 'El fruto prohibido',
67993
+ owner: 'P1',
67994
+ ready: true,
67995
+ value: 2,
67996
+ abilityName: 'Conocimiento del bien y del mal',
67997
+ abilityText: 'Al usarla, disminuye en 1 los puntos de vida de tu Lider.',
67998
+ abilityCost: 0,
67999
+ },
68000
+ ],
67970
68001
  offeringPlayedThisTurn: false,
67971
68002
  hand: ['o_simple', 'p_scout', 'p_warrior', 'p_guard'],
67972
68003
  battleZone: [],
@@ -68008,6 +68039,7 @@ class ChristianityGameComponent {
68008
68039
  this.selectedPreview = signal(null);
68009
68040
  this.previewTilt = signal({ rotateX: 5, rotateY: -5, shiftX: 0, shiftY: 0 });
68010
68041
  this.showHistory = signal(false);
68042
+ this.offeringsSeat = signal(null);
68011
68043
  this.player = computed(() => this.game().players.P1);
68012
68044
  this.opponent = computed(() => this.game().players.P2);
68013
68045
  this.currentPlayer = computed(() => this.game().players[this.game().turnOwner]);
@@ -68061,6 +68093,9 @@ class ChristianityGameComponent {
68061
68093
  readyOfferings(player) {
68062
68094
  return player.offerings.reduce((total, offering) => total + (offering.ready ? offering.value : 0), 0);
68063
68095
  }
68096
+ totalOfferings(player) {
68097
+ return player.offerings.reduce((total, offering) => total + offering.value, 0);
68098
+ }
68064
68099
  canPlay(card) {
68065
68100
  if (!this.isOwnTurn())
68066
68101
  return false;
@@ -68099,6 +68134,9 @@ class ChristianityGameComponent {
68099
68134
  owner: 'P1',
68100
68135
  ready: true,
68101
68136
  value: card.life,
68137
+ abilityName: card.abilityName,
68138
+ abilityText: card.abilityText,
68139
+ abilityCost: card.abilityCost,
68102
68140
  });
68103
68141
  player.offeringPlayedThisTurn = true;
68104
68142
  }
@@ -68227,11 +68265,20 @@ class ChristianityGameComponent {
68227
68265
  this.selectedAttacker.set(null);
68228
68266
  this.selectedPreview.set(null);
68229
68267
  this.showHistory.set(false);
68268
+ this.offeringsSeat.set(null);
68230
68269
  }
68231
68270
  closePreview() {
68232
68271
  this.selectedPreview.set(null);
68233
68272
  this.resetPreviewTilt();
68234
68273
  }
68274
+ openOfferings(seat) {
68275
+ this.selectedPreview.set(null);
68276
+ this.showHistory.set(false);
68277
+ this.offeringsSeat.set(seat);
68278
+ }
68279
+ closeOfferings() {
68280
+ this.offeringsSeat.set(null);
68281
+ }
68235
68282
  tiltPreview(event) {
68236
68283
  const bounds = event.currentTarget.getBoundingClientRect();
68237
68284
  const x = (event.clientX - bounds.left) / bounds.width - 0.5;
@@ -68267,7 +68314,32 @@ class ChristianityGameComponent {
68267
68314
  title: offering.name,
68268
68315
  eyebrow: this.t('christianityOfferingCard'),
68269
68316
  meta: offering.ready ? this.t('christianityOfferingReady') : this.t('christianityOfferingExhausted'),
68270
- body: this.t('christianityOfferingBody'),
68317
+ body: offering.abilityText || this.t('christianityOfferingBody'),
68318
+ });
68319
+ }
68320
+ canUseOfferingAbility(offering, seat) {
68321
+ if (seat !== 'P1' || !this.isOwnTurn())
68322
+ return false;
68323
+ if (!offering.ready || !offering.abilityName)
68324
+ return false;
68325
+ return this.readyOfferings(this.game().players[seat]) >= (offering.abilityCost ?? 0);
68326
+ }
68327
+ useOfferingAbility(offering, seat) {
68328
+ if (!this.canUseOfferingAbility(offering, seat))
68329
+ return;
68330
+ this.game.update(game => {
68331
+ const next = structuredClone(game);
68332
+ const player = next.players[seat];
68333
+ const liveOffering = player.offerings.find(card => card.instanceId === offering.instanceId);
68334
+ if (!liveOffering || !liveOffering.ready)
68335
+ return game;
68336
+ const offeringId = liveOffering.instanceId;
68337
+ this.spendOfferings(player, liveOffering.abilityCost ?? 0);
68338
+ player.offerings = player.offerings.map(card => (card.instanceId === offeringId ? { ...card, ready: false } : card));
68339
+ player.leaderHp = Math.max(0, player.leaderHp - 1);
68340
+ next.revision++;
68341
+ next.log = [`${liveOffering.name}: ${liveOffering.abilityName}.`, ...next.log].slice(0, 4);
68342
+ return next;
68271
68343
  });
68272
68344
  }
68273
68345
  inspectDeck() {
@@ -68347,17 +68419,13 @@ class ChristianityGameComponent {
68347
68419
  <section class="christianity-player-side christianity-player-side--opponent">
68348
68420
  <section class="christianity-player-rack christianity-player-rack--opponent">
68349
68421
  <div class="christianity-offerings-zone">
68350
- @for (offering of opponent().offerings; track offering.instanceId) {
68351
- <button
68352
- type="button"
68353
- class="christianity-card-mini christianity-card-mini--offering"
68354
- [class.is-exhausted]="!offering.ready"
68355
- (click)="inspectOffering(offering)"
68356
- >
68357
- <span>{{ t('christianityOfferingCard') }}</span>
68358
- <strong>+{{ offering.value }}</strong>
68359
- </button>
68360
- }
68422
+ <button type="button" class="christianity-offering-pile" (click)="openOfferings('P2')">
68423
+ <i aria-hidden="true"></i>
68424
+ <i aria-hidden="true"></i>
68425
+ <i aria-hidden="true"></i>
68426
+ <span>{{ t('christianityOfferings') }}</span>
68427
+ <strong>{{ readyOfferings(opponent()) }}/{{ totalOfferings(opponent()) }}</strong>
68428
+ </button>
68361
68429
  </div>
68362
68430
  <button type="button" class="christianity-leader-card" [class.is-target]="selectedAttacker() && !hasOpponentGuards()" (click)="handleOpponentLeader()">
68363
68431
  <span>{{ opponent().leaderName }}</span>
@@ -68381,24 +68449,24 @@ class ChristianityGameComponent {
68381
68449
  }
68382
68450
  </div>
68383
68451
  </section>
68384
- </section>
68385
68452
 
68386
- <section class="christianity-battle-zone christianity-battle-zone--opponent" [attr.aria-label]="t('christianityOpponentBattle')">
68387
- @for (slot of battleSlots('P2'); track slot.trackId) {
68388
- @if (slot.card) {
68389
- <button
68390
- type="button"
68391
- class="christianity-card-preview-card christianity-card-preview-card--battle"
68392
- [class.is-target]="selectedAttacker()"
68393
- (click)="handleOpponentCharacter(slot.card)"
68394
- >
68395
- <span>{{ slot.card.name }}</span>
68396
- <strong>{{ slot.card.attack }} / {{ slot.card.currentHp }}</strong>
68397
- </button>
68398
- } @else {
68399
- <span class="christianity-slot"></span>
68453
+ <section class="christianity-battle-zone christianity-battle-zone--opponent" [attr.aria-label]="t('christianityOpponentBattle')">
68454
+ @for (slot of battleSlots('P2'); track slot.trackId) {
68455
+ @if (slot.card) {
68456
+ <button
68457
+ type="button"
68458
+ class="christianity-card-preview-card christianity-card-preview-card--battle"
68459
+ [class.is-target]="selectedAttacker()"
68460
+ (click)="handleOpponentCharacter(slot.card)"
68461
+ >
68462
+ <span>{{ slot.card.name }}</span>
68463
+ <strong>{{ slot.card.attack }} / {{ slot.card.currentHp }}</strong>
68464
+ </button>
68465
+ } @else {
68466
+ <span class="christianity-slot"></span>
68467
+ }
68400
68468
  }
68401
- }
68469
+ </section>
68402
68470
  </section>
68403
68471
 
68404
68472
  <section class="christianity-shared-zone" [attr.aria-label]="t('christianitySharedZone')">
@@ -68422,83 +68490,87 @@ class ChristianityGameComponent {
68422
68490
  </div>
68423
68491
  </section>
68424
68492
 
68425
- <section class="christianity-battle-zone" [attr.aria-label]="t('christianityYourBattle')">
68426
- @for (slot of battleSlots('P1'); track slot.trackId) {
68427
- @if (slot.card) {
68428
- <button
68429
- type="button"
68430
- class="christianity-card-preview-card christianity-card-preview-card--battle"
68431
- [class.is-selected]="selectedAttacker()?.instanceId === slot.card.instanceId"
68432
- [class.is-exhausted]="!slot.card.canAttack"
68433
- (click)="selectAttacker(slot.card)"
68434
- >
68435
- <span>{{ slot.card.name }}</span>
68436
- <strong>{{ slot.card.attack }} / {{ slot.card.currentHp }}</strong>
68437
- </button>
68438
- } @else {
68439
- <span class="christianity-slot"></span>
68493
+ <section class="christianity-player-side">
68494
+ <section class="christianity-battle-zone" [attr.aria-label]="t('christianityYourBattle')">
68495
+ @for (slot of battleSlots('P1'); track slot.trackId) {
68496
+ @if (slot.card) {
68497
+ <button
68498
+ type="button"
68499
+ class="christianity-card-preview-card christianity-card-preview-card--battle"
68500
+ [class.is-selected]="selectedAttacker()?.instanceId === slot.card.instanceId"
68501
+ [class.is-exhausted]="!slot.card.canAttack"
68502
+ (click)="selectAttacker(slot.card)"
68503
+ >
68504
+ <span>{{ slot.card.name }}</span>
68505
+ <strong>{{ slot.card.attack }} / {{ slot.card.currentHp }}</strong>
68506
+ </button>
68507
+ } @else {
68508
+ <span class="christianity-slot"></span>
68509
+ }
68440
68510
  }
68441
- }
68442
- </section>
68511
+ </section>
68443
68512
 
68444
- <section class="christianity-player-rack">
68445
- <div class="christianity-offerings-zone">
68446
- @for (offering of player().offerings; track offering.instanceId) {
68513
+ <section class="christianity-player-rack">
68514
+ <div class="christianity-offerings-zone">
68515
+ <button type="button" class="christianity-offering-pile" (click)="openOfferings('P1')">
68516
+ <i aria-hidden="true"></i>
68517
+ <i aria-hidden="true"></i>
68518
+ <i aria-hidden="true"></i>
68519
+ <span>{{ t('christianityOfferings') }}</span>
68520
+ <strong>{{ readyOfferings(player()) }}/{{ totalOfferings(player()) }}</strong>
68521
+ </button>
68522
+ </div>
68523
+ <button type="button" class="christianity-leader-card" (click)="inspectLeader('P1')">
68524
+ <span>{{ player().leaderName }}</span>
68525
+ <strong>{{ player().leaderHp }}/{{ player().leaderMaxHp }}</strong>
68526
+ </button>
68527
+ <div class="christianity-player-command">
68528
+ <div class="christianity-player-badge">
68529
+ <span class="christianity-avatar" [style.background]="player().avatarColor">{{ player().avatar }}</span>
68530
+ <strong>{{ player().displayName }}</strong>
68531
+ </div>
68447
68532
  <button
68448
68533
  type="button"
68449
- class="christianity-card-mini christianity-card-mini--offering"
68450
- [class.is-exhausted]="!offering.ready"
68451
- (click)="inspectOffering(offering)"
68534
+ class="christianity-end-turn"
68535
+ (click)="endTurn()"
68452
68536
  >
68453
- <span>{{ t('christianityOfferingCard') }}</span>
68454
- <strong>+{{ offering.value }}</strong>
68537
+ {{ t('christianityEndTurn') }}
68455
68538
  </button>
68456
- }
68457
- </div>
68458
- <button type="button" class="christianity-leader-card" (click)="inspectLeader('P1')">
68459
- <span>{{ player().leaderName }}</span>
68460
- <strong>{{ player().leaderHp }}/{{ player().leaderMaxHp }}</strong>
68461
- </button>
68462
- <div class="christianity-player-command">
68463
- <div class="christianity-player-badge">
68464
- <span class="christianity-avatar" [style.background]="player().avatarColor">{{ player().avatar }}</span>
68465
- <strong>{{ player().displayName }}</strong>
68466
68539
  </div>
68467
- <button type="button" class="christianity-end-turn" (click)="endTurn()">
68468
- {{ t('christianityEndTurn') }}
68469
- </button>
68470
- </div>
68540
+ </section>
68471
68541
  </section>
68472
68542
  </section>
68473
68543
 
68474
- <section class="christianity-hand-fan" [attr.aria-label]="t('christianityYourHand')">
68475
- @for (cardId of player().hand ?? []; track cardId + $index) {
68476
- @let card = cardDefinition(cardId);
68477
- <button
68478
- type="button"
68479
- class="christianity-card-preview-card christianity-card-preview-card--hand"
68480
- [class.is-selected]="selectedHandCard() === cardId"
68481
- [class.is-disabled]="!canPlay(card)"
68482
- [style.transform]="fanTransform($index, player().hand?.length ?? 0, false)"
68483
- (click)="selectHandCard(cardId)"
68484
- >
68485
- <small>
68486
- @if (card.type === 'offering') {
68487
- {{ t('christianityOfferingCard') }}
68488
- } @else {
68489
- {{ t('christianityCost') }} {{ card.cost }}
68490
- }
68491
- </small>
68492
- <span>{{ card.name }}</span>
68493
- <strong>
68494
- @if (card.type === 'offering') {
68495
- +{{ card.life }}
68496
- } @else {
68497
- {{ card.attack }} / {{ card.life }}
68498
- }
68499
- </strong>
68500
- </button>
68501
- }
68544
+ <section class="christianity-hand-shelf">
68545
+ <section class="christianity-hand-fan" [attr.aria-label]="t('christianityYourHand')">
68546
+ @for (cardId of player().hand ?? []; track cardId + $index) {
68547
+ @let card = cardDefinition(cardId);
68548
+ <button
68549
+ type="button"
68550
+ class="christianity-card-preview-card christianity-card-preview-card--hand"
68551
+ [class.is-selected]="selectedHandCard() === cardId"
68552
+ [class.is-disabled]="!canPlay(card)"
68553
+ [style.transform]="fanTransform($index, player().hand?.length ?? 0, false)"
68554
+ (click)="selectHandCard(cardId)"
68555
+ >
68556
+ <small>
68557
+ @if (card.type === 'offering') {
68558
+ {{ t('christianityOfferingCard') }}
68559
+ } @else {
68560
+ {{ t('christianityCost') }} {{ card.cost }}
68561
+ }
68562
+ </small>
68563
+ <span>{{ card.name }}</span>
68564
+ <strong>
68565
+ @if (card.type === 'offering') {
68566
+ +{{ card.life }}
68567
+ } @else {
68568
+ {{ card.attack }} / {{ card.life }}
68569
+ }
68570
+ </strong>
68571
+ </button>
68572
+ }
68573
+ </section>
68502
68574
  </section>
68503
68575
 
68504
68576
  @if (selectedPreview()) {
@@ -68561,8 +68633,46 @@ class ChristianityGameComponent {
68561
68633
  }
68562
68634
  </section>
68563
68635
  }
68636
+
68637
+ @if (offeringsSeat()) {
68638
+ @let offeringPlayer = game().players[offeringsSeat()!];
68639
+ <button type="button" class="christianity-history-backdrop" [attr.aria-label]="t('christianityCloseOfferings')" (click)="closeOfferings()"></button>
68640
+ <section class="christianity-history-drawer christianity-offerings-drawer">
68641
+ <header>
68642
+ <h2>{{ t('christianityOfferings') }}</h2>
68643
+ <span>{{ readyOfferings(offeringPlayer) }}/{{ totalOfferings(offeringPlayer) }}</span>
68644
+ </header>
68645
+ <div class="christianity-offering-list">
68646
+ @for (offering of offeringPlayer.offerings; track offering.instanceId) {
68647
+ <article class="christianity-offering-row" [class.is-exhausted]="!offering.ready">
68648
+ <button type="button" class="christianity-offering-card" (click)="inspectOffering(offering)">
68649
+ <small>{{ t('christianityOfferingCard') }}</small>
68650
+ <span>{{ offering.name }}</span>
68651
+ <strong>+{{ offering.value }}</strong>
68652
+ @if (offering.abilityName) {
68653
+ <p>{{ offering.abilityName }}</p>
68654
+ }
68655
+ </button>
68656
+ <div>
68657
+ <strong>{{ offering.ready ? t('christianityOfferingReady') : t('christianityOfferingExhausted') }}</strong>
68658
+ <p>{{ offering.abilityText || t('christianityOfferingNoAbility') }}</p>
68659
+ @if (offering.abilityName) {
68660
+ <button
68661
+ type="button"
68662
+ [disabled]="!canUseOfferingAbility(offering, offeringsSeat()!)"
68663
+ (click)="useOfferingAbility(offering, offeringsSeat()!)"
68664
+ >
68665
+ {{ t('christianityUseAbility') }}
68666
+ </button>
68667
+ }
68668
+ </div>
68669
+ </article>
68670
+ }
68671
+ </div>
68672
+ </section>
68673
+ }
68564
68674
  </main>
68565
- `, isInline: true, styles: [":host{display:block;color:var(--val-text-color, #1f2933)}.christianity-shell{display:grid;gap:.875rem;padding:.75rem .25rem;border:1px solid rgba(36,48,68,.12);border-radius:.75rem;background:#f6f8fb}.christianity-header,.christianity-match-strip,.christianity-player__summary,.christianity-shared-zone,.christianity-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.christianity-header h1,.christianity-header p,.christianity-match-player strong,.christianity-match-player small,.christianity-scoreboard span,.christianity-history h2,.christianity-actions p{margin:0}.christianity-header h1{font-size:1.35rem;line-height:1.1}.christianity-header p,.christianity-turn span,.christianity-offerings span,.christianity-hidden-hand span,.christianity-deck span,.christianity-place span,.christianity-pile span,.christianity-leader span{color:#1f2933a3;font-size:.75rem}.christianity-turn,.christianity-leader,.christianity-offerings,.christianity-hidden-hand,.christianity-pile,.christianity-deck,.christianity-place{display:grid;gap:.15rem;min-width:5.25rem;padding:.55rem .65rem;border:1px solid rgba(36,48,68,.12);border-radius:.5rem;background:#fff}.christianity-turn.is-own-turn{border-color:#12806c59;background:#ecfdf5}.christianity-match-strip{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:.45rem;border:1px solid rgba(36,48,68,.1);border-radius:.75rem;background:#fff}.christianity-match-player{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;min-width:0}.christianity-match-player--opponent{direction:rtl}.christianity-match-player--opponent div{direction:ltr;text-align:right}.christianity-match-player div{display:grid;min-width:0}.christianity-match-player strong,.christianity-match-player small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.christianity-match-player small,.christianity-scoreboard span{color:#1f293394;font-size:.72rem}.christianity-scoreboard{display:grid;justify-items:center;min-width:4.2rem;padding:0 .55rem;border-right:1px solid rgba(36,48,68,.1);border-left:1px solid rgba(36,48,68,.1)}.christianity-scoreboard strong{font-size:1.2rem;line-height:1}.christianity-table{display:grid;gap:.45rem;padding:.45rem .35rem;border-radius:.75rem;background:#dceafb}.christianity-player-side{display:grid;gap:.35rem;min-height:0}.christianity-player-side--opponent{padding:.25rem .3rem .05rem;border-radius:.7rem;background:#ffffff57}.christianity-player{display:grid;gap:.65rem}.christianity-battle-zone{display:grid;grid-template-columns:repeat(5,minmax(4.2rem,1fr));gap:.5rem;min-height:7rem;padding:.55rem .4rem;border-radius:.75rem;background:#ffffffc2}.christianity-shared-zone{padding:.55rem .4rem;border-radius:.75rem;background:#ffffffe6}.christianity-card,.christianity-end-turn,.christianity-actions button,.christianity-pile,.christianity-leader--target{border:1px solid rgba(36,48,68,.16);border-radius:.5rem;background:#fff;color:inherit;font:inherit}.christianity-card{display:grid;align-content:space-between;min-height:5.8rem;padding:.5rem;text-align:left;box-shadow:0 .5rem 1.25rem #24304414}.christianity-card span{font-weight:700}.christianity-card strong{justify-self:end;padding:.15rem .35rem;border-radius:999px;background:#edf2f7;font-size:.8rem}.christianity-card.is-selected{border-color:#2563eb;box-shadow:0 0 0 .2rem #2563eb29}.christianity-card.is-disabled,.christianity-card.is-exhausted{opacity:.55}.christianity-card.is-target{border-color:#dc2626}.christianity-offering-cards{display:grid;grid-auto-flow:column;grid-auto-columns:.7rem;gap:.16rem;align-items:end;min-height:1.05rem}.christianity-offering-cards i{display:block;width:.65rem;height:.95rem;border:1px solid rgba(16,42,67,.22);border-radius:.18rem;background:#f8fafc}.christianity-offering-cards i.is-used{background:#cbd5e1;transform:rotate(90deg);transform-origin:center}.christianity-slot{min-height:5.8rem;border:1px dashed rgba(36,48,68,.22);border-radius:.5rem;background:#ffffff73}.christianity-hand{display:grid;grid-auto-columns:minmax(6rem,8rem);grid-auto-flow:column;gap:.55rem;overflow-x:auto;padding-bottom:.25rem}.christianity-actions{align-items:flex-start;padding:.75rem;border-radius:.75rem;background:#fff}.christianity-actions div{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.christianity-actions button,.christianity-end-turn{min-height:2.4rem;padding:0 .75rem;font-weight:700}.christianity-actions button:not(:disabled),.christianity-end-turn{background:#102a43;color:#fff}.christianity-history{padding:.75rem;border-radius:.75rem;background:#fff}.christianity-hand-fan{position:relative;display:flex;justify-content:center;min-height:7.4rem;padding:0 .25rem;isolation:isolate}.christianity-hand-fan--opponent{min-height:4.4rem;align-items:start}.christianity-opponent-hand-area{display:grid;min-height:4.55rem;align-items:start;overflow:hidden}.christianity-card-preview-card,.christianity-card-mini,.christianity-leader-card,.christianity-zone-card,.christianity-zone-pile,.christianity-end-turn{border:1px solid rgba(36,48,68,.16);border-radius:.5rem;background:#fff;color:inherit;font:inherit}.christianity-card-preview-card{display:grid;align-content:space-between;width:clamp(4.9rem,17vw,7.1rem);min-height:clamp(6.6rem,22vw,8.8rem);margin-inline:-.42rem;padding:.48rem;text-align:left;transform-origin:50% 115%;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;box-shadow:0 .5rem 1.25rem #2430441a}.christianity-card-preview-card--hand:hover,.christianity-card-preview-card--hand.is-selected{z-index:3;border-color:#2563eb;box-shadow:0 1rem 2rem #2563eb2e}.christianity-card-preview-card--back{width:clamp(4rem,14vw,5.7rem);min-height:clamp(5rem,16vw,6.6rem);background:linear-gradient(135deg,#102a431f,#102a4305),repeating-linear-gradient(45deg,#e2e8f0 0 .35rem,#f8fafc .35rem .7rem)}.christianity-card-preview-card--battle{width:100%;min-height:5.7rem;margin-inline:0}.christianity-card-preview-card span,.christianity-card-mini span,.christianity-leader-card span,.christianity-zone-card span,.christianity-zone-pile span{font-weight:700}.christianity-card-preview-card strong,.christianity-card-mini strong,.christianity-leader-card strong,.christianity-zone-card strong,.christianity-zone-pile strong{justify-self:end;padding:.15rem .35rem;border-radius:999px;background:#edf2f7;font-size:.8rem}.christianity-player-rack{display:grid;grid-template-columns:minmax(4.2rem,1fr) minmax(5rem,6.5rem) minmax(4.2rem,1fr);gap:.45rem;align-items:end;justify-items:center}.christianity-player-rack--opponent{align-items:start}.christianity-hand-count{display:grid;align-content:center;justify-items:center;width:100%;min-height:3.4rem;padding:.35rem;border:1px solid rgba(36,48,68,.12);border-radius:.5rem;background:#ffffffad}.christianity-hand-count span{color:#1f293394;font-size:.72rem}.christianity-hand-count strong{font-size:1.05rem}.christianity-player-badge,.christianity-player-command{display:grid;gap:.35rem;justify-items:center;min-width:0}.christianity-player-badge{align-content:start;color:#1f2933c2;font-size:.74rem}.christianity-player-badge--opponent{justify-self:center;grid-auto-flow:column;align-items:center;justify-content:center}.christianity-player-badge strong{max-width:6.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.christianity-avatar{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:999px;color:#fff;font-size:.76rem;font-weight:800;box-shadow:0 .35rem .9rem #102a4329}.christianity-offerings-zone{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end;width:100%}.christianity-card-mini,.christianity-leader-card,.christianity-zone-card,.christianity-zone-pile{display:grid;align-content:space-between;min-height:4.9rem;padding:.48rem;text-align:left}.christianity-card-mini{width:3.5rem}.christianity-leader-card{width:min(100%,6.5rem);min-height:5.8rem}.christianity-battle-zone{grid-template-columns:repeat(4,minmax(4rem,1fr))}.christianity-shared-zone{display:grid;grid-template-columns:repeat(3,minmax(4.3rem,1fr));align-items:stretch}.christianity-zone-pile{position:relative;isolation:isolate;overflow:hidden;min-height:5.6rem;box-shadow:inset 0 0 0 999px #ffffff1f}.christianity-zone-pile i{position:absolute;inset:.62rem .72rem auto auto;z-index:-1;width:2.7rem;height:3.7rem;border:1px solid rgba(16,42,67,.18);border-radius:.35rem;background:#f8fafc;box-shadow:0 .35rem .85rem #102a431c;transform:rotate(4deg)}.christianity-zone-pile i:nth-child(2){transform:translate(-.28rem,.12rem) rotate(-3deg)}.christianity-zone-pile i:nth-child(3){background:linear-gradient(135deg,#102a4329,#102a4308),repeating-linear-gradient(45deg,#dbeafe 0 .33rem,#fff .33rem .66rem);transform:translate(-.54rem,.24rem) rotate(2deg)}.christianity-floating-card{position:fixed;top:50%;left:50%;z-index:21;display:grid;gap:.45rem;width:min(20rem,calc(100vw - 2rem));min-height:min(27rem,calc(100vh - 5rem));padding:1rem;border:1px solid rgba(36,48,68,.18);border-radius:.75rem;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at 20% 0%,rgba(37,99,235,.12),transparent 45%);box-shadow:0 2.4rem 5rem #102a4357,inset 0 0 0 .35rem #ffffff8c;touch-action:none;transform:translate(calc(-50% + var(--preview-shift-x, 0px)),calc(-50% + var(--preview-shift-y, 0px))) perspective(48rem) rotateX(var(--preview-rotate-x, 5deg)) rotateY(var(--preview-rotate-y, -5deg));transition:transform 90ms ease-out}.christianity-preview-backdrop,.christianity-history-backdrop{position:fixed;inset:0;z-index:20;border:0;border-radius:0;background:#0f172a75}.christianity-floating-card small,.christianity-floating-card span{color:#1f2933a3}.christianity-floating-card strong{font-size:clamp(1.35rem,8vw,2rem);line-height:1.05}.christianity-floating-card p{margin:0;align-self:end;font-size:.95rem;line-height:1.35}.christianity-history-backdrop{z-index:22}.christianity-history-drawer{position:fixed;right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));left:max(.5rem,env(safe-area-inset-left));z-index:23;display:grid;gap:.75rem;max-height:min(27rem,calc(100vh - 4rem));padding:.8rem;border:1px solid rgba(36,48,68,.16);border-radius:.75rem;background:#fffffffa;box-shadow:0 1.5rem 4rem #102a4347}.christianity-history-drawer header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.christianity-history-drawer h2,.christianity-history-drawer p{margin:0}.christianity-history-drawer header span{display:grid;place-items:center;min-width:1.85rem;height:1.85rem;border-radius:999px;background:#edf2f7;font-weight:800}.christianity-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr));gap:.55rem;overflow-y:auto;padding:.1rem .1rem .25rem}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible{outline:.1875rem solid rgba(37,99,235,.24);outline-offset:.125rem}@media (max-width: 720px){.christianity-shell{padding:.55rem 0;border-right:0;border-left:0;border-radius:0}.christianity-header,.christianity-player__summary,.christianity-shared-zone,.christianity-actions{align-items:stretch;flex-direction:column}.christianity-match-strip{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.35rem;padding:.35rem}.christianity-match-player{gap:.35rem}.christianity-match-player small{display:none}.christianity-scoreboard{min-width:3.65rem;padding:0 .35rem}.christianity-scoreboard strong{font-size:1.05rem}.christianity-table{gap:.35rem}.christianity-battle-zone{grid-template-columns:repeat(4,minmax(3.35rem,1fr));overflow-x:auto}.christianity-hand-fan{min-height:6.8rem;overflow-x:clip}.christianity-player-rack{grid-template-columns:minmax(3.6rem,1fr) minmax(4.8rem,5.6rem) minmax(3.6rem,1fr)}.christianity-shared-zone{grid-template-columns:repeat(3,minmax(3.7rem,1fr))}.christianity-card-preview-card{width:clamp(4.2rem,20vw,5.7rem);min-height:clamp(5.8rem,26vw,7.4rem)}.christianity-opponent-hand-area{min-height:4.15rem}.christianity-hand-fan--opponent{min-height:4rem}}\n"] }); }
68675
+ `, isInline: true, styles: [":host{display:block;color:var(--val-text-color, #1f2933)}.christianity-shell{display:grid;gap:.875rem;padding:.75rem .25rem;border:1px solid rgba(36,48,68,.12);border-radius:.75rem;background:#f6f8fb}.christianity-header,.christianity-match-strip,.christianity-player__summary,.christianity-shared-zone,.christianity-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.christianity-header h1,.christianity-header p,.christianity-match-player strong,.christianity-match-player small,.christianity-scoreboard span,.christianity-history h2,.christianity-actions p{margin:0}.christianity-header h1{font-size:1.35rem;line-height:1.1}.christianity-header p,.christianity-turn span,.christianity-offerings span,.christianity-hidden-hand span,.christianity-deck span,.christianity-place span,.christianity-pile span,.christianity-leader span{color:#1f2933a3;font-size:.75rem}.christianity-turn,.christianity-leader,.christianity-offerings,.christianity-hidden-hand,.christianity-pile,.christianity-deck,.christianity-place{display:grid;gap:.15rem;min-width:5.25rem;padding:.55rem .65rem;border:1px solid rgba(36,48,68,.12);border-radius:.5rem;background:#fff}.christianity-turn.is-own-turn{border-color:#12806c59;background:#ecfdf5}.christianity-match-strip{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:.45rem;border:1px solid rgba(36,48,68,.1);border-radius:.75rem;background:#fff}.christianity-match-player{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;min-width:0}.christianity-match-player--opponent{direction:rtl}.christianity-match-player--opponent div{direction:ltr;text-align:right}.christianity-match-player div{display:grid;min-width:0}.christianity-match-player strong,.christianity-match-player small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.christianity-match-player small,.christianity-scoreboard span{color:#1f293394;font-size:.72rem}.christianity-scoreboard{display:grid;justify-items:center;min-width:4.2rem;padding:0 .55rem;border-right:1px solid rgba(36,48,68,.1);border-left:1px solid rgba(36,48,68,.1)}.christianity-scoreboard strong{font-size:1.2rem;line-height:1}.christianity-table{display:grid;gap:.45rem;padding:.45rem .35rem;border-radius:.75rem;background:#dceafb}.christianity-player-side{display:grid;gap:.35rem;padding:.35rem .3rem;border-radius:.7rem;background:#ffffff57;min-height:0}.christianity-player-side--opponent{grid-template-rows:auto minmax(4.55rem,auto) auto}.christianity-player{display:grid;gap:.65rem}.christianity-battle-zone{display:grid;grid-template-columns:repeat(5,minmax(4.2rem,1fr));gap:.5rem;min-height:7rem;padding:.55rem .4rem;border-radius:.75rem;background:#ffffffc2}.christianity-shared-zone{padding:.55rem .4rem;border-radius:.75rem;background:#ffffffe6}.christianity-card,.christianity-end-turn,.christianity-actions button,.christianity-pile,.christianity-leader--target{border:1px solid rgba(36,48,68,.16);border-radius:.5rem;background:#fff;color:inherit;font:inherit}.christianity-card{display:grid;align-content:space-between;min-height:5.8rem;padding:.5rem;text-align:left;box-shadow:0 .5rem 1.25rem #24304414}.christianity-card span{font-weight:700}.christianity-card strong{justify-self:end;padding:.15rem .35rem;border-radius:999px;background:#edf2f7;font-size:.8rem}.christianity-card.is-selected{border-color:#2563eb;box-shadow:0 0 0 .2rem #2563eb29}.christianity-card.is-disabled,.christianity-card.is-exhausted{opacity:.55}.christianity-card.is-target{border-color:#dc2626}.christianity-offering-cards{display:grid;grid-auto-flow:column;grid-auto-columns:.7rem;gap:.16rem;align-items:end;min-height:1.05rem}.christianity-offering-cards i{display:block;width:.65rem;height:.95rem;border:1px solid rgba(16,42,67,.22);border-radius:.18rem;background:#f8fafc}.christianity-offering-cards i.is-used{background:#cbd5e1;transform:rotate(90deg);transform-origin:center}.christianity-slot{min-height:5.8rem;border:1px dashed rgba(36,48,68,.22);border-radius:.5rem;background:#ffffff73}.christianity-hand{display:grid;grid-auto-columns:minmax(6rem,8rem);grid-auto-flow:column;gap:.55rem;overflow-x:auto;padding-bottom:.25rem}.christianity-actions{align-items:flex-start;padding:.75rem;border-radius:.75rem;background:#fff}.christianity-actions div{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.christianity-actions button,.christianity-end-turn{min-height:2.4rem;padding:0 .75rem;font-weight:700}.christianity-actions button:not(:disabled),.christianity-end-turn{background:#102a43;color:#fff}.christianity-history{padding:.75rem;border-radius:.75rem;background:#fff}.christianity-hand-fan{position:relative;display:flex;justify-content:center;min-height:7.4rem;padding:0 .25rem;isolation:isolate}.christianity-hand-shelf{display:grid;min-height:8.1rem;padding:.35rem .25rem 0;overflow:hidden}.christianity-hand-fan--opponent{min-height:4.4rem;align-items:start}.christianity-opponent-hand-area{display:grid;min-height:4.55rem;align-items:start;overflow:hidden}.christianity-card-preview-card,.christianity-card-mini,.christianity-offering-pile,.christianity-offering-card,.christianity-leader-card,.christianity-zone-card,.christianity-zone-pile,.christianity-end-turn{border:1px solid rgba(36,48,68,.16);border-radius:.5rem;background:#fff;color:inherit;font:inherit}.christianity-card-preview-card{display:grid;align-content:space-between;width:clamp(4.9rem,17vw,7.1rem);min-height:clamp(6.6rem,22vw,8.8rem);margin-inline:-.42rem;padding:.48rem;text-align:left;transform-origin:50% 115%;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;box-shadow:0 .5rem 1.25rem #2430441a}.christianity-card-preview-card--hand:hover,.christianity-card-preview-card--hand.is-selected{z-index:3;border-color:#2563eb;box-shadow:0 1rem 2rem #2563eb2e}.christianity-card-preview-card--back{width:clamp(4rem,14vw,5.7rem);min-height:clamp(5rem,16vw,6.6rem);background:linear-gradient(135deg,#102a431f,#102a4305),repeating-linear-gradient(45deg,#e2e8f0 0 .35rem,#f8fafc .35rem .7rem)}.christianity-card-preview-card--battle{width:100%;min-height:5.7rem;margin-inline:0}.christianity-card-preview-card span,.christianity-card-mini span,.christianity-offering-pile span,.christianity-offering-card span,.christianity-leader-card span,.christianity-zone-card span,.christianity-zone-pile span{font-weight:700}.christianity-card-preview-card strong,.christianity-card-mini strong,.christianity-offering-pile strong,.christianity-offering-card strong,.christianity-leader-card strong,.christianity-zone-card strong,.christianity-zone-pile strong{justify-self:end;padding:.15rem .35rem;border-radius:999px;background:#edf2f7;font-size:.8rem}.christianity-player-rack{display:grid;grid-template-columns:minmax(5.9rem,7rem) minmax(5rem,1fr) minmax(4.2rem,7rem);gap:.45rem;align-items:end;justify-items:stretch}.christianity-player-rack--opponent{align-items:start}.christianity-hand-count{display:grid;align-content:center;justify-items:center;width:100%;min-height:3.4rem;padding:.35rem;border:1px solid rgba(36,48,68,.12);border-radius:.5rem;background:#ffffffad}.christianity-hand-count span{color:#1f293394;font-size:.72rem}.christianity-hand-count strong{font-size:1.05rem}.christianity-player-badge,.christianity-player-command{display:grid;gap:.35rem;justify-items:center;min-width:0}.christianity-player-badge{align-content:start;color:#1f2933c2;font-size:.74rem}.christianity-player-badge--opponent{justify-self:center;grid-auto-flow:column;align-items:center;justify-content:center}.christianity-player-badge strong{max-width:6.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.christianity-avatar{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:999px;color:#fff;font-size:.76rem;font-weight:800;box-shadow:0 .35rem .9rem #102a4329}.christianity-offerings-zone{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-start;justify-self:start;width:100%}.christianity-card-mini,.christianity-offering-pile,.christianity-offering-card,.christianity-leader-card,.christianity-zone-card,.christianity-zone-pile{display:grid;align-content:space-between;min-height:4.9rem;padding:.48rem;text-align:left}.christianity-card-mini{width:3.5rem}.christianity-offering-pile{position:relative;isolation:isolate;overflow:hidden;justify-self:start;width:min(100%,5.9rem);min-height:5.8rem;background:linear-gradient(180deg,#fff,#f8fafc),linear-gradient(135deg,rgba(250,204,21,.18),transparent 42%)}.christianity-offering-pile i{position:absolute;inset:.6rem auto auto .7rem;z-index:-1;width:2.55rem;height:3.55rem;border:1px solid rgba(16,42,67,.18);border-radius:.35rem;background:linear-gradient(180deg,#ffffffeb,#f1f5f9eb),radial-gradient(circle at 78% 18%,#facc15 0 .38rem,transparent .4rem);box-shadow:0 .35rem .85rem #102a431a;transform:rotate(-5deg)}.christianity-offering-pile i:nth-child(2){transform:translate(.28rem,.08rem) rotate(3deg)}.christianity-offering-pile i:nth-child(3){transform:translate(.55rem,.18rem) rotate(-1deg)}.christianity-leader-card{width:min(100%,6.5rem);min-height:5.8rem}.christianity-battle-zone{grid-template-columns:repeat(4,minmax(4rem,1fr))}.christianity-shared-zone{display:grid;grid-template-columns:repeat(3,minmax(4.3rem,1fr));align-items:stretch}.christianity-zone-pile{position:relative;isolation:isolate;overflow:hidden;min-height:5.6rem;box-shadow:inset 0 0 0 999px #ffffff1f}.christianity-zone-pile i{position:absolute;inset:.62rem .72rem auto auto;z-index:-1;width:2.7rem;height:3.7rem;border:1px solid rgba(16,42,67,.18);border-radius:.35rem;background:#f8fafc;box-shadow:0 .35rem .85rem #102a431c;transform:rotate(4deg)}.christianity-zone-pile i:nth-child(2){transform:translate(-.28rem,.12rem) rotate(-3deg)}.christianity-zone-pile i:nth-child(3){background:linear-gradient(135deg,#102a4329,#102a4308),repeating-linear-gradient(45deg,#dbeafe 0 .33rem,#fff .33rem .66rem);transform:translate(-.54rem,.24rem) rotate(2deg)}.christianity-floating-card{position:fixed;top:50%;left:50%;z-index:21;display:grid;gap:.45rem;width:min(20rem,calc(100vw - 2rem));min-height:min(27rem,calc(100vh - 5rem));padding:1rem;border:1px solid rgba(36,48,68,.18);border-radius:.75rem;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at 20% 0%,rgba(37,99,235,.12),transparent 45%);box-shadow:0 2.4rem 5rem #102a4357,inset 0 0 0 .35rem #ffffff8c;touch-action:none;transform:translate(calc(-50% + var(--preview-shift-x, 0px)),calc(-50% + var(--preview-shift-y, 0px))) perspective(48rem) rotateX(var(--preview-rotate-x, 5deg)) rotateY(var(--preview-rotate-y, -5deg));transition:transform 90ms ease-out}.christianity-preview-backdrop,.christianity-history-backdrop{position:fixed;inset:0;z-index:20;border:0;border-radius:0;background:#0f172a75}.christianity-floating-card small,.christianity-floating-card span{color:#1f2933a3}.christianity-floating-card strong{font-size:clamp(1.35rem,8vw,2rem);line-height:1.05}.christianity-floating-card p{margin:0;align-self:end;font-size:.95rem;line-height:1.35}.christianity-history-backdrop{z-index:22}.christianity-history-drawer{position:fixed;right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));left:max(.5rem,env(safe-area-inset-left));z-index:23;display:grid;gap:.75rem;max-height:min(27rem,calc(100vh - 4rem));padding:.8rem;border:1px solid rgba(36,48,68,.16);border-radius:.75rem;background:#fffffffa;box-shadow:0 1.5rem 4rem #102a4347}.christianity-history-drawer header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.christianity-history-drawer h2,.christianity-history-drawer p{margin:0}.christianity-history-drawer header span{display:grid;place-items:center;min-width:1.85rem;height:1.85rem;border-radius:999px;background:#edf2f7;font-weight:800}.christianity-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr));gap:.55rem;overflow-y:auto;padding:.1rem .1rem .25rem}.christianity-offerings-drawer{max-height:min(30rem,calc(100vh - 3rem))}.christianity-offering-list{display:grid;gap:.6rem;overflow-y:auto;padding:.1rem}.christianity-offering-row{display:grid;grid-template-columns:minmax(4.9rem,6.2rem) minmax(0,1fr);gap:.65rem;align-items:stretch;padding:.45rem;border:1px solid rgba(36,48,68,.12);border-radius:.65rem;background:#fff}.christianity-offering-row.is-exhausted{opacity:.68}.christianity-offering-card{min-height:7.4rem;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at 82% 14%,#facc15 0 .48rem,transparent .5rem);box-shadow:0 .45rem 1rem #102a431a}.christianity-offering-card small{color:#1f293394;font-size:.66rem;text-transform:uppercase}.christianity-offering-card p,.christianity-offering-row p{margin:0}.christianity-offering-card p{align-self:end;color:#1f2933a3;font-size:.72rem;line-height:1.2}.christianity-offering-row>div{display:grid;gap:.35rem;align-content:center;min-width:0}.christianity-offering-row>div p{color:#1f2933b8;font-size:.85rem;line-height:1.3}.christianity-offering-row>div button{justify-self:start;min-height:2.2rem;padding:0 .7rem;border:1px solid rgba(16,42,67,.16);border-radius:.5rem;background:#102a43;color:#fff;font:inherit;font-weight:800}.christianity-offering-row>div button:disabled{background:#e2e8f0;color:#1f293394}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible{outline:.1875rem solid rgba(37,99,235,.24);outline-offset:.125rem}@media (max-width: 720px){.christianity-shell{padding:.55rem 0;border-right:0;border-left:0;border-radius:0}.christianity-header,.christianity-player__summary,.christianity-shared-zone,.christianity-actions{align-items:stretch;flex-direction:column}.christianity-match-strip{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.35rem;padding:.35rem}.christianity-match-player{gap:.35rem}.christianity-match-player small{display:none}.christianity-scoreboard{min-width:3.65rem;padding:0 .35rem}.christianity-scoreboard strong{font-size:1.05rem}.christianity-table{gap:.35rem}.christianity-player-side{padding:.3rem .25rem}.christianity-battle-zone{grid-template-columns:repeat(4,minmax(3.35rem,1fr));overflow-x:auto}.christianity-hand-fan{min-height:6.8rem;overflow-x:clip}.christianity-hand-shelf{min-height:7.4rem;padding-top:.25rem}.christianity-player-rack{grid-template-columns:minmax(4.7rem,5.9rem) minmax(4.8rem,1fr) minmax(3.7rem,5rem)}.christianity-shared-zone{grid-template-columns:repeat(3,minmax(3.7rem,1fr))}.christianity-card-preview-card{width:clamp(4.2rem,20vw,5.7rem);min-height:clamp(5.8rem,26vw,7.4rem)}.christianity-offering-row{grid-template-columns:minmax(4.5rem,5.5rem) minmax(0,1fr);gap:.5rem}.christianity-opponent-hand-area{min-height:4.15rem}.christianity-hand-fan--opponent{min-height:4rem}}\n"] }); }
68566
68676
  }
68567
68677
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ChristianityGameComponent, decorators: [{
68568
68678
  type: Component,
@@ -68604,17 +68714,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
68604
68714
  <section class="christianity-player-side christianity-player-side--opponent">
68605
68715
  <section class="christianity-player-rack christianity-player-rack--opponent">
68606
68716
  <div class="christianity-offerings-zone">
68607
- @for (offering of opponent().offerings; track offering.instanceId) {
68608
- <button
68609
- type="button"
68610
- class="christianity-card-mini christianity-card-mini--offering"
68611
- [class.is-exhausted]="!offering.ready"
68612
- (click)="inspectOffering(offering)"
68613
- >
68614
- <span>{{ t('christianityOfferingCard') }}</span>
68615
- <strong>+{{ offering.value }}</strong>
68616
- </button>
68617
- }
68717
+ <button type="button" class="christianity-offering-pile" (click)="openOfferings('P2')">
68718
+ <i aria-hidden="true"></i>
68719
+ <i aria-hidden="true"></i>
68720
+ <i aria-hidden="true"></i>
68721
+ <span>{{ t('christianityOfferings') }}</span>
68722
+ <strong>{{ readyOfferings(opponent()) }}/{{ totalOfferings(opponent()) }}</strong>
68723
+ </button>
68618
68724
  </div>
68619
68725
  <button type="button" class="christianity-leader-card" [class.is-target]="selectedAttacker() && !hasOpponentGuards()" (click)="handleOpponentLeader()">
68620
68726
  <span>{{ opponent().leaderName }}</span>
@@ -68638,24 +68744,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
68638
68744
  }
68639
68745
  </div>
68640
68746
  </section>
68641
- </section>
68642
68747
 
68643
- <section class="christianity-battle-zone christianity-battle-zone--opponent" [attr.aria-label]="t('christianityOpponentBattle')">
68644
- @for (slot of battleSlots('P2'); track slot.trackId) {
68645
- @if (slot.card) {
68646
- <button
68647
- type="button"
68648
- class="christianity-card-preview-card christianity-card-preview-card--battle"
68649
- [class.is-target]="selectedAttacker()"
68650
- (click)="handleOpponentCharacter(slot.card)"
68651
- >
68652
- <span>{{ slot.card.name }}</span>
68653
- <strong>{{ slot.card.attack }} / {{ slot.card.currentHp }}</strong>
68654
- </button>
68655
- } @else {
68656
- <span class="christianity-slot"></span>
68748
+ <section class="christianity-battle-zone christianity-battle-zone--opponent" [attr.aria-label]="t('christianityOpponentBattle')">
68749
+ @for (slot of battleSlots('P2'); track slot.trackId) {
68750
+ @if (slot.card) {
68751
+ <button
68752
+ type="button"
68753
+ class="christianity-card-preview-card christianity-card-preview-card--battle"
68754
+ [class.is-target]="selectedAttacker()"
68755
+ (click)="handleOpponentCharacter(slot.card)"
68756
+ >
68757
+ <span>{{ slot.card.name }}</span>
68758
+ <strong>{{ slot.card.attack }} / {{ slot.card.currentHp }}</strong>
68759
+ </button>
68760
+ } @else {
68761
+ <span class="christianity-slot"></span>
68762
+ }
68657
68763
  }
68658
- }
68764
+ </section>
68659
68765
  </section>
68660
68766
 
68661
68767
  <section class="christianity-shared-zone" [attr.aria-label]="t('christianitySharedZone')">
@@ -68679,83 +68785,87 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
68679
68785
  </div>
68680
68786
  </section>
68681
68787
 
68682
- <section class="christianity-battle-zone" [attr.aria-label]="t('christianityYourBattle')">
68683
- @for (slot of battleSlots('P1'); track slot.trackId) {
68684
- @if (slot.card) {
68685
- <button
68686
- type="button"
68687
- class="christianity-card-preview-card christianity-card-preview-card--battle"
68688
- [class.is-selected]="selectedAttacker()?.instanceId === slot.card.instanceId"
68689
- [class.is-exhausted]="!slot.card.canAttack"
68690
- (click)="selectAttacker(slot.card)"
68691
- >
68692
- <span>{{ slot.card.name }}</span>
68693
- <strong>{{ slot.card.attack }} / {{ slot.card.currentHp }}</strong>
68694
- </button>
68695
- } @else {
68696
- <span class="christianity-slot"></span>
68788
+ <section class="christianity-player-side">
68789
+ <section class="christianity-battle-zone" [attr.aria-label]="t('christianityYourBattle')">
68790
+ @for (slot of battleSlots('P1'); track slot.trackId) {
68791
+ @if (slot.card) {
68792
+ <button
68793
+ type="button"
68794
+ class="christianity-card-preview-card christianity-card-preview-card--battle"
68795
+ [class.is-selected]="selectedAttacker()?.instanceId === slot.card.instanceId"
68796
+ [class.is-exhausted]="!slot.card.canAttack"
68797
+ (click)="selectAttacker(slot.card)"
68798
+ >
68799
+ <span>{{ slot.card.name }}</span>
68800
+ <strong>{{ slot.card.attack }} / {{ slot.card.currentHp }}</strong>
68801
+ </button>
68802
+ } @else {
68803
+ <span class="christianity-slot"></span>
68804
+ }
68697
68805
  }
68698
- }
68699
- </section>
68806
+ </section>
68700
68807
 
68701
- <section class="christianity-player-rack">
68702
- <div class="christianity-offerings-zone">
68703
- @for (offering of player().offerings; track offering.instanceId) {
68808
+ <section class="christianity-player-rack">
68809
+ <div class="christianity-offerings-zone">
68810
+ <button type="button" class="christianity-offering-pile" (click)="openOfferings('P1')">
68811
+ <i aria-hidden="true"></i>
68812
+ <i aria-hidden="true"></i>
68813
+ <i aria-hidden="true"></i>
68814
+ <span>{{ t('christianityOfferings') }}</span>
68815
+ <strong>{{ readyOfferings(player()) }}/{{ totalOfferings(player()) }}</strong>
68816
+ </button>
68817
+ </div>
68818
+ <button type="button" class="christianity-leader-card" (click)="inspectLeader('P1')">
68819
+ <span>{{ player().leaderName }}</span>
68820
+ <strong>{{ player().leaderHp }}/{{ player().leaderMaxHp }}</strong>
68821
+ </button>
68822
+ <div class="christianity-player-command">
68823
+ <div class="christianity-player-badge">
68824
+ <span class="christianity-avatar" [style.background]="player().avatarColor">{{ player().avatar }}</span>
68825
+ <strong>{{ player().displayName }}</strong>
68826
+ </div>
68704
68827
  <button
68705
68828
  type="button"
68706
- class="christianity-card-mini christianity-card-mini--offering"
68707
- [class.is-exhausted]="!offering.ready"
68708
- (click)="inspectOffering(offering)"
68829
+ class="christianity-end-turn"
68830
+ (click)="endTurn()"
68709
68831
  >
68710
- <span>{{ t('christianityOfferingCard') }}</span>
68711
- <strong>+{{ offering.value }}</strong>
68832
+ {{ t('christianityEndTurn') }}
68712
68833
  </button>
68713
- }
68714
- </div>
68715
- <button type="button" class="christianity-leader-card" (click)="inspectLeader('P1')">
68716
- <span>{{ player().leaderName }}</span>
68717
- <strong>{{ player().leaderHp }}/{{ player().leaderMaxHp }}</strong>
68718
- </button>
68719
- <div class="christianity-player-command">
68720
- <div class="christianity-player-badge">
68721
- <span class="christianity-avatar" [style.background]="player().avatarColor">{{ player().avatar }}</span>
68722
- <strong>{{ player().displayName }}</strong>
68723
68834
  </div>
68724
- <button type="button" class="christianity-end-turn" (click)="endTurn()">
68725
- {{ t('christianityEndTurn') }}
68726
- </button>
68727
- </div>
68835
+ </section>
68728
68836
  </section>
68729
68837
  </section>
68730
68838
 
68731
- <section class="christianity-hand-fan" [attr.aria-label]="t('christianityYourHand')">
68732
- @for (cardId of player().hand ?? []; track cardId + $index) {
68733
- @let card = cardDefinition(cardId);
68734
- <button
68735
- type="button"
68736
- class="christianity-card-preview-card christianity-card-preview-card--hand"
68737
- [class.is-selected]="selectedHandCard() === cardId"
68738
- [class.is-disabled]="!canPlay(card)"
68739
- [style.transform]="fanTransform($index, player().hand?.length ?? 0, false)"
68740
- (click)="selectHandCard(cardId)"
68741
- >
68742
- <small>
68743
- @if (card.type === 'offering') {
68744
- {{ t('christianityOfferingCard') }}
68745
- } @else {
68746
- {{ t('christianityCost') }} {{ card.cost }}
68747
- }
68748
- </small>
68749
- <span>{{ card.name }}</span>
68750
- <strong>
68751
- @if (card.type === 'offering') {
68752
- +{{ card.life }}
68753
- } @else {
68754
- {{ card.attack }} / {{ card.life }}
68755
- }
68756
- </strong>
68757
- </button>
68758
- }
68839
+ <section class="christianity-hand-shelf">
68840
+ <section class="christianity-hand-fan" [attr.aria-label]="t('christianityYourHand')">
68841
+ @for (cardId of player().hand ?? []; track cardId + $index) {
68842
+ @let card = cardDefinition(cardId);
68843
+ <button
68844
+ type="button"
68845
+ class="christianity-card-preview-card christianity-card-preview-card--hand"
68846
+ [class.is-selected]="selectedHandCard() === cardId"
68847
+ [class.is-disabled]="!canPlay(card)"
68848
+ [style.transform]="fanTransform($index, player().hand?.length ?? 0, false)"
68849
+ (click)="selectHandCard(cardId)"
68850
+ >
68851
+ <small>
68852
+ @if (card.type === 'offering') {
68853
+ {{ t('christianityOfferingCard') }}
68854
+ } @else {
68855
+ {{ t('christianityCost') }} {{ card.cost }}
68856
+ }
68857
+ </small>
68858
+ <span>{{ card.name }}</span>
68859
+ <strong>
68860
+ @if (card.type === 'offering') {
68861
+ +{{ card.life }}
68862
+ } @else {
68863
+ {{ card.attack }} / {{ card.life }}
68864
+ }
68865
+ </strong>
68866
+ </button>
68867
+ }
68868
+ </section>
68759
68869
  </section>
68760
68870
 
68761
68871
  @if (selectedPreview()) {
@@ -68818,8 +68928,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
68818
68928
  }
68819
68929
  </section>
68820
68930
  }
68931
+
68932
+ @if (offeringsSeat()) {
68933
+ @let offeringPlayer = game().players[offeringsSeat()!];
68934
+ <button type="button" class="christianity-history-backdrop" [attr.aria-label]="t('christianityCloseOfferings')" (click)="closeOfferings()"></button>
68935
+ <section class="christianity-history-drawer christianity-offerings-drawer">
68936
+ <header>
68937
+ <h2>{{ t('christianityOfferings') }}</h2>
68938
+ <span>{{ readyOfferings(offeringPlayer) }}/{{ totalOfferings(offeringPlayer) }}</span>
68939
+ </header>
68940
+ <div class="christianity-offering-list">
68941
+ @for (offering of offeringPlayer.offerings; track offering.instanceId) {
68942
+ <article class="christianity-offering-row" [class.is-exhausted]="!offering.ready">
68943
+ <button type="button" class="christianity-offering-card" (click)="inspectOffering(offering)">
68944
+ <small>{{ t('christianityOfferingCard') }}</small>
68945
+ <span>{{ offering.name }}</span>
68946
+ <strong>+{{ offering.value }}</strong>
68947
+ @if (offering.abilityName) {
68948
+ <p>{{ offering.abilityName }}</p>
68949
+ }
68950
+ </button>
68951
+ <div>
68952
+ <strong>{{ offering.ready ? t('christianityOfferingReady') : t('christianityOfferingExhausted') }}</strong>
68953
+ <p>{{ offering.abilityText || t('christianityOfferingNoAbility') }}</p>
68954
+ @if (offering.abilityName) {
68955
+ <button
68956
+ type="button"
68957
+ [disabled]="!canUseOfferingAbility(offering, offeringsSeat()!)"
68958
+ (click)="useOfferingAbility(offering, offeringsSeat()!)"
68959
+ >
68960
+ {{ t('christianityUseAbility') }}
68961
+ </button>
68962
+ }
68963
+ </div>
68964
+ </article>
68965
+ }
68966
+ </div>
68967
+ </section>
68968
+ }
68821
68969
  </main>
68822
- `, styles: [":host{display:block;color:var(--val-text-color, #1f2933)}.christianity-shell{display:grid;gap:.875rem;padding:.75rem .25rem;border:1px solid rgba(36,48,68,.12);border-radius:.75rem;background:#f6f8fb}.christianity-header,.christianity-match-strip,.christianity-player__summary,.christianity-shared-zone,.christianity-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.christianity-header h1,.christianity-header p,.christianity-match-player strong,.christianity-match-player small,.christianity-scoreboard span,.christianity-history h2,.christianity-actions p{margin:0}.christianity-header h1{font-size:1.35rem;line-height:1.1}.christianity-header p,.christianity-turn span,.christianity-offerings span,.christianity-hidden-hand span,.christianity-deck span,.christianity-place span,.christianity-pile span,.christianity-leader span{color:#1f2933a3;font-size:.75rem}.christianity-turn,.christianity-leader,.christianity-offerings,.christianity-hidden-hand,.christianity-pile,.christianity-deck,.christianity-place{display:grid;gap:.15rem;min-width:5.25rem;padding:.55rem .65rem;border:1px solid rgba(36,48,68,.12);border-radius:.5rem;background:#fff}.christianity-turn.is-own-turn{border-color:#12806c59;background:#ecfdf5}.christianity-match-strip{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:.45rem;border:1px solid rgba(36,48,68,.1);border-radius:.75rem;background:#fff}.christianity-match-player{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;min-width:0}.christianity-match-player--opponent{direction:rtl}.christianity-match-player--opponent div{direction:ltr;text-align:right}.christianity-match-player div{display:grid;min-width:0}.christianity-match-player strong,.christianity-match-player small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.christianity-match-player small,.christianity-scoreboard span{color:#1f293394;font-size:.72rem}.christianity-scoreboard{display:grid;justify-items:center;min-width:4.2rem;padding:0 .55rem;border-right:1px solid rgba(36,48,68,.1);border-left:1px solid rgba(36,48,68,.1)}.christianity-scoreboard strong{font-size:1.2rem;line-height:1}.christianity-table{display:grid;gap:.45rem;padding:.45rem .35rem;border-radius:.75rem;background:#dceafb}.christianity-player-side{display:grid;gap:.35rem;min-height:0}.christianity-player-side--opponent{padding:.25rem .3rem .05rem;border-radius:.7rem;background:#ffffff57}.christianity-player{display:grid;gap:.65rem}.christianity-battle-zone{display:grid;grid-template-columns:repeat(5,minmax(4.2rem,1fr));gap:.5rem;min-height:7rem;padding:.55rem .4rem;border-radius:.75rem;background:#ffffffc2}.christianity-shared-zone{padding:.55rem .4rem;border-radius:.75rem;background:#ffffffe6}.christianity-card,.christianity-end-turn,.christianity-actions button,.christianity-pile,.christianity-leader--target{border:1px solid rgba(36,48,68,.16);border-radius:.5rem;background:#fff;color:inherit;font:inherit}.christianity-card{display:grid;align-content:space-between;min-height:5.8rem;padding:.5rem;text-align:left;box-shadow:0 .5rem 1.25rem #24304414}.christianity-card span{font-weight:700}.christianity-card strong{justify-self:end;padding:.15rem .35rem;border-radius:999px;background:#edf2f7;font-size:.8rem}.christianity-card.is-selected{border-color:#2563eb;box-shadow:0 0 0 .2rem #2563eb29}.christianity-card.is-disabled,.christianity-card.is-exhausted{opacity:.55}.christianity-card.is-target{border-color:#dc2626}.christianity-offering-cards{display:grid;grid-auto-flow:column;grid-auto-columns:.7rem;gap:.16rem;align-items:end;min-height:1.05rem}.christianity-offering-cards i{display:block;width:.65rem;height:.95rem;border:1px solid rgba(16,42,67,.22);border-radius:.18rem;background:#f8fafc}.christianity-offering-cards i.is-used{background:#cbd5e1;transform:rotate(90deg);transform-origin:center}.christianity-slot{min-height:5.8rem;border:1px dashed rgba(36,48,68,.22);border-radius:.5rem;background:#ffffff73}.christianity-hand{display:grid;grid-auto-columns:minmax(6rem,8rem);grid-auto-flow:column;gap:.55rem;overflow-x:auto;padding-bottom:.25rem}.christianity-actions{align-items:flex-start;padding:.75rem;border-radius:.75rem;background:#fff}.christianity-actions div{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.christianity-actions button,.christianity-end-turn{min-height:2.4rem;padding:0 .75rem;font-weight:700}.christianity-actions button:not(:disabled),.christianity-end-turn{background:#102a43;color:#fff}.christianity-history{padding:.75rem;border-radius:.75rem;background:#fff}.christianity-hand-fan{position:relative;display:flex;justify-content:center;min-height:7.4rem;padding:0 .25rem;isolation:isolate}.christianity-hand-fan--opponent{min-height:4.4rem;align-items:start}.christianity-opponent-hand-area{display:grid;min-height:4.55rem;align-items:start;overflow:hidden}.christianity-card-preview-card,.christianity-card-mini,.christianity-leader-card,.christianity-zone-card,.christianity-zone-pile,.christianity-end-turn{border:1px solid rgba(36,48,68,.16);border-radius:.5rem;background:#fff;color:inherit;font:inherit}.christianity-card-preview-card{display:grid;align-content:space-between;width:clamp(4.9rem,17vw,7.1rem);min-height:clamp(6.6rem,22vw,8.8rem);margin-inline:-.42rem;padding:.48rem;text-align:left;transform-origin:50% 115%;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;box-shadow:0 .5rem 1.25rem #2430441a}.christianity-card-preview-card--hand:hover,.christianity-card-preview-card--hand.is-selected{z-index:3;border-color:#2563eb;box-shadow:0 1rem 2rem #2563eb2e}.christianity-card-preview-card--back{width:clamp(4rem,14vw,5.7rem);min-height:clamp(5rem,16vw,6.6rem);background:linear-gradient(135deg,#102a431f,#102a4305),repeating-linear-gradient(45deg,#e2e8f0 0 .35rem,#f8fafc .35rem .7rem)}.christianity-card-preview-card--battle{width:100%;min-height:5.7rem;margin-inline:0}.christianity-card-preview-card span,.christianity-card-mini span,.christianity-leader-card span,.christianity-zone-card span,.christianity-zone-pile span{font-weight:700}.christianity-card-preview-card strong,.christianity-card-mini strong,.christianity-leader-card strong,.christianity-zone-card strong,.christianity-zone-pile strong{justify-self:end;padding:.15rem .35rem;border-radius:999px;background:#edf2f7;font-size:.8rem}.christianity-player-rack{display:grid;grid-template-columns:minmax(4.2rem,1fr) minmax(5rem,6.5rem) minmax(4.2rem,1fr);gap:.45rem;align-items:end;justify-items:center}.christianity-player-rack--opponent{align-items:start}.christianity-hand-count{display:grid;align-content:center;justify-items:center;width:100%;min-height:3.4rem;padding:.35rem;border:1px solid rgba(36,48,68,.12);border-radius:.5rem;background:#ffffffad}.christianity-hand-count span{color:#1f293394;font-size:.72rem}.christianity-hand-count strong{font-size:1.05rem}.christianity-player-badge,.christianity-player-command{display:grid;gap:.35rem;justify-items:center;min-width:0}.christianity-player-badge{align-content:start;color:#1f2933c2;font-size:.74rem}.christianity-player-badge--opponent{justify-self:center;grid-auto-flow:column;align-items:center;justify-content:center}.christianity-player-badge strong{max-width:6.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.christianity-avatar{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:999px;color:#fff;font-size:.76rem;font-weight:800;box-shadow:0 .35rem .9rem #102a4329}.christianity-offerings-zone{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end;width:100%}.christianity-card-mini,.christianity-leader-card,.christianity-zone-card,.christianity-zone-pile{display:grid;align-content:space-between;min-height:4.9rem;padding:.48rem;text-align:left}.christianity-card-mini{width:3.5rem}.christianity-leader-card{width:min(100%,6.5rem);min-height:5.8rem}.christianity-battle-zone{grid-template-columns:repeat(4,minmax(4rem,1fr))}.christianity-shared-zone{display:grid;grid-template-columns:repeat(3,minmax(4.3rem,1fr));align-items:stretch}.christianity-zone-pile{position:relative;isolation:isolate;overflow:hidden;min-height:5.6rem;box-shadow:inset 0 0 0 999px #ffffff1f}.christianity-zone-pile i{position:absolute;inset:.62rem .72rem auto auto;z-index:-1;width:2.7rem;height:3.7rem;border:1px solid rgba(16,42,67,.18);border-radius:.35rem;background:#f8fafc;box-shadow:0 .35rem .85rem #102a431c;transform:rotate(4deg)}.christianity-zone-pile i:nth-child(2){transform:translate(-.28rem,.12rem) rotate(-3deg)}.christianity-zone-pile i:nth-child(3){background:linear-gradient(135deg,#102a4329,#102a4308),repeating-linear-gradient(45deg,#dbeafe 0 .33rem,#fff .33rem .66rem);transform:translate(-.54rem,.24rem) rotate(2deg)}.christianity-floating-card{position:fixed;top:50%;left:50%;z-index:21;display:grid;gap:.45rem;width:min(20rem,calc(100vw - 2rem));min-height:min(27rem,calc(100vh - 5rem));padding:1rem;border:1px solid rgba(36,48,68,.18);border-radius:.75rem;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at 20% 0%,rgba(37,99,235,.12),transparent 45%);box-shadow:0 2.4rem 5rem #102a4357,inset 0 0 0 .35rem #ffffff8c;touch-action:none;transform:translate(calc(-50% + var(--preview-shift-x, 0px)),calc(-50% + var(--preview-shift-y, 0px))) perspective(48rem) rotateX(var(--preview-rotate-x, 5deg)) rotateY(var(--preview-rotate-y, -5deg));transition:transform 90ms ease-out}.christianity-preview-backdrop,.christianity-history-backdrop{position:fixed;inset:0;z-index:20;border:0;border-radius:0;background:#0f172a75}.christianity-floating-card small,.christianity-floating-card span{color:#1f2933a3}.christianity-floating-card strong{font-size:clamp(1.35rem,8vw,2rem);line-height:1.05}.christianity-floating-card p{margin:0;align-self:end;font-size:.95rem;line-height:1.35}.christianity-history-backdrop{z-index:22}.christianity-history-drawer{position:fixed;right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));left:max(.5rem,env(safe-area-inset-left));z-index:23;display:grid;gap:.75rem;max-height:min(27rem,calc(100vh - 4rem));padding:.8rem;border:1px solid rgba(36,48,68,.16);border-radius:.75rem;background:#fffffffa;box-shadow:0 1.5rem 4rem #102a4347}.christianity-history-drawer header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.christianity-history-drawer h2,.christianity-history-drawer p{margin:0}.christianity-history-drawer header span{display:grid;place-items:center;min-width:1.85rem;height:1.85rem;border-radius:999px;background:#edf2f7;font-weight:800}.christianity-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr));gap:.55rem;overflow-y:auto;padding:.1rem .1rem .25rem}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible{outline:.1875rem solid rgba(37,99,235,.24);outline-offset:.125rem}@media (max-width: 720px){.christianity-shell{padding:.55rem 0;border-right:0;border-left:0;border-radius:0}.christianity-header,.christianity-player__summary,.christianity-shared-zone,.christianity-actions{align-items:stretch;flex-direction:column}.christianity-match-strip{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.35rem;padding:.35rem}.christianity-match-player{gap:.35rem}.christianity-match-player small{display:none}.christianity-scoreboard{min-width:3.65rem;padding:0 .35rem}.christianity-scoreboard strong{font-size:1.05rem}.christianity-table{gap:.35rem}.christianity-battle-zone{grid-template-columns:repeat(4,minmax(3.35rem,1fr));overflow-x:auto}.christianity-hand-fan{min-height:6.8rem;overflow-x:clip}.christianity-player-rack{grid-template-columns:minmax(3.6rem,1fr) minmax(4.8rem,5.6rem) minmax(3.6rem,1fr)}.christianity-shared-zone{grid-template-columns:repeat(3,minmax(3.7rem,1fr))}.christianity-card-preview-card{width:clamp(4.2rem,20vw,5.7rem);min-height:clamp(5.8rem,26vw,7.4rem)}.christianity-opponent-hand-area{min-height:4.15rem}.christianity-hand-fan--opponent{min-height:4rem}}\n"] }]
68970
+ `, styles: [":host{display:block;color:var(--val-text-color, #1f2933)}.christianity-shell{display:grid;gap:.875rem;padding:.75rem .25rem;border:1px solid rgba(36,48,68,.12);border-radius:.75rem;background:#f6f8fb}.christianity-header,.christianity-match-strip,.christianity-player__summary,.christianity-shared-zone,.christianity-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.christianity-header h1,.christianity-header p,.christianity-match-player strong,.christianity-match-player small,.christianity-scoreboard span,.christianity-history h2,.christianity-actions p{margin:0}.christianity-header h1{font-size:1.35rem;line-height:1.1}.christianity-header p,.christianity-turn span,.christianity-offerings span,.christianity-hidden-hand span,.christianity-deck span,.christianity-place span,.christianity-pile span,.christianity-leader span{color:#1f2933a3;font-size:.75rem}.christianity-turn,.christianity-leader,.christianity-offerings,.christianity-hidden-hand,.christianity-pile,.christianity-deck,.christianity-place{display:grid;gap:.15rem;min-width:5.25rem;padding:.55rem .65rem;border:1px solid rgba(36,48,68,.12);border-radius:.5rem;background:#fff}.christianity-turn.is-own-turn{border-color:#12806c59;background:#ecfdf5}.christianity-match-strip{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding:.45rem;border:1px solid rgba(36,48,68,.1);border-radius:.75rem;background:#fff}.christianity-match-player{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;min-width:0}.christianity-match-player--opponent{direction:rtl}.christianity-match-player--opponent div{direction:ltr;text-align:right}.christianity-match-player div{display:grid;min-width:0}.christianity-match-player strong,.christianity-match-player small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.christianity-match-player small,.christianity-scoreboard span{color:#1f293394;font-size:.72rem}.christianity-scoreboard{display:grid;justify-items:center;min-width:4.2rem;padding:0 .55rem;border-right:1px solid rgba(36,48,68,.1);border-left:1px solid rgba(36,48,68,.1)}.christianity-scoreboard strong{font-size:1.2rem;line-height:1}.christianity-table{display:grid;gap:.45rem;padding:.45rem .35rem;border-radius:.75rem;background:#dceafb}.christianity-player-side{display:grid;gap:.35rem;padding:.35rem .3rem;border-radius:.7rem;background:#ffffff57;min-height:0}.christianity-player-side--opponent{grid-template-rows:auto minmax(4.55rem,auto) auto}.christianity-player{display:grid;gap:.65rem}.christianity-battle-zone{display:grid;grid-template-columns:repeat(5,minmax(4.2rem,1fr));gap:.5rem;min-height:7rem;padding:.55rem .4rem;border-radius:.75rem;background:#ffffffc2}.christianity-shared-zone{padding:.55rem .4rem;border-radius:.75rem;background:#ffffffe6}.christianity-card,.christianity-end-turn,.christianity-actions button,.christianity-pile,.christianity-leader--target{border:1px solid rgba(36,48,68,.16);border-radius:.5rem;background:#fff;color:inherit;font:inherit}.christianity-card{display:grid;align-content:space-between;min-height:5.8rem;padding:.5rem;text-align:left;box-shadow:0 .5rem 1.25rem #24304414}.christianity-card span{font-weight:700}.christianity-card strong{justify-self:end;padding:.15rem .35rem;border-radius:999px;background:#edf2f7;font-size:.8rem}.christianity-card.is-selected{border-color:#2563eb;box-shadow:0 0 0 .2rem #2563eb29}.christianity-card.is-disabled,.christianity-card.is-exhausted{opacity:.55}.christianity-card.is-target{border-color:#dc2626}.christianity-offering-cards{display:grid;grid-auto-flow:column;grid-auto-columns:.7rem;gap:.16rem;align-items:end;min-height:1.05rem}.christianity-offering-cards i{display:block;width:.65rem;height:.95rem;border:1px solid rgba(16,42,67,.22);border-radius:.18rem;background:#f8fafc}.christianity-offering-cards i.is-used{background:#cbd5e1;transform:rotate(90deg);transform-origin:center}.christianity-slot{min-height:5.8rem;border:1px dashed rgba(36,48,68,.22);border-radius:.5rem;background:#ffffff73}.christianity-hand{display:grid;grid-auto-columns:minmax(6rem,8rem);grid-auto-flow:column;gap:.55rem;overflow-x:auto;padding-bottom:.25rem}.christianity-actions{align-items:flex-start;padding:.75rem;border-radius:.75rem;background:#fff}.christianity-actions div{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.christianity-actions button,.christianity-end-turn{min-height:2.4rem;padding:0 .75rem;font-weight:700}.christianity-actions button:not(:disabled),.christianity-end-turn{background:#102a43;color:#fff}.christianity-history{padding:.75rem;border-radius:.75rem;background:#fff}.christianity-hand-fan{position:relative;display:flex;justify-content:center;min-height:7.4rem;padding:0 .25rem;isolation:isolate}.christianity-hand-shelf{display:grid;min-height:8.1rem;padding:.35rem .25rem 0;overflow:hidden}.christianity-hand-fan--opponent{min-height:4.4rem;align-items:start}.christianity-opponent-hand-area{display:grid;min-height:4.55rem;align-items:start;overflow:hidden}.christianity-card-preview-card,.christianity-card-mini,.christianity-offering-pile,.christianity-offering-card,.christianity-leader-card,.christianity-zone-card,.christianity-zone-pile,.christianity-end-turn{border:1px solid rgba(36,48,68,.16);border-radius:.5rem;background:#fff;color:inherit;font:inherit}.christianity-card-preview-card{display:grid;align-content:space-between;width:clamp(4.9rem,17vw,7.1rem);min-height:clamp(6.6rem,22vw,8.8rem);margin-inline:-.42rem;padding:.48rem;text-align:left;transform-origin:50% 115%;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;box-shadow:0 .5rem 1.25rem #2430441a}.christianity-card-preview-card--hand:hover,.christianity-card-preview-card--hand.is-selected{z-index:3;border-color:#2563eb;box-shadow:0 1rem 2rem #2563eb2e}.christianity-card-preview-card--back{width:clamp(4rem,14vw,5.7rem);min-height:clamp(5rem,16vw,6.6rem);background:linear-gradient(135deg,#102a431f,#102a4305),repeating-linear-gradient(45deg,#e2e8f0 0 .35rem,#f8fafc .35rem .7rem)}.christianity-card-preview-card--battle{width:100%;min-height:5.7rem;margin-inline:0}.christianity-card-preview-card span,.christianity-card-mini span,.christianity-offering-pile span,.christianity-offering-card span,.christianity-leader-card span,.christianity-zone-card span,.christianity-zone-pile span{font-weight:700}.christianity-card-preview-card strong,.christianity-card-mini strong,.christianity-offering-pile strong,.christianity-offering-card strong,.christianity-leader-card strong,.christianity-zone-card strong,.christianity-zone-pile strong{justify-self:end;padding:.15rem .35rem;border-radius:999px;background:#edf2f7;font-size:.8rem}.christianity-player-rack{display:grid;grid-template-columns:minmax(5.9rem,7rem) minmax(5rem,1fr) minmax(4.2rem,7rem);gap:.45rem;align-items:end;justify-items:stretch}.christianity-player-rack--opponent{align-items:start}.christianity-hand-count{display:grid;align-content:center;justify-items:center;width:100%;min-height:3.4rem;padding:.35rem;border:1px solid rgba(36,48,68,.12);border-radius:.5rem;background:#ffffffad}.christianity-hand-count span{color:#1f293394;font-size:.72rem}.christianity-hand-count strong{font-size:1.05rem}.christianity-player-badge,.christianity-player-command{display:grid;gap:.35rem;justify-items:center;min-width:0}.christianity-player-badge{align-content:start;color:#1f2933c2;font-size:.74rem}.christianity-player-badge--opponent{justify-self:center;grid-auto-flow:column;align-items:center;justify-content:center}.christianity-player-badge strong{max-width:6.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.christianity-avatar{display:grid;place-items:center;width:1.85rem;height:1.85rem;border-radius:999px;color:#fff;font-size:.76rem;font-weight:800;box-shadow:0 .35rem .9rem #102a4329}.christianity-offerings-zone{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-start;justify-self:start;width:100%}.christianity-card-mini,.christianity-offering-pile,.christianity-offering-card,.christianity-leader-card,.christianity-zone-card,.christianity-zone-pile{display:grid;align-content:space-between;min-height:4.9rem;padding:.48rem;text-align:left}.christianity-card-mini{width:3.5rem}.christianity-offering-pile{position:relative;isolation:isolate;overflow:hidden;justify-self:start;width:min(100%,5.9rem);min-height:5.8rem;background:linear-gradient(180deg,#fff,#f8fafc),linear-gradient(135deg,rgba(250,204,21,.18),transparent 42%)}.christianity-offering-pile i{position:absolute;inset:.6rem auto auto .7rem;z-index:-1;width:2.55rem;height:3.55rem;border:1px solid rgba(16,42,67,.18);border-radius:.35rem;background:linear-gradient(180deg,#ffffffeb,#f1f5f9eb),radial-gradient(circle at 78% 18%,#facc15 0 .38rem,transparent .4rem);box-shadow:0 .35rem .85rem #102a431a;transform:rotate(-5deg)}.christianity-offering-pile i:nth-child(2){transform:translate(.28rem,.08rem) rotate(3deg)}.christianity-offering-pile i:nth-child(3){transform:translate(.55rem,.18rem) rotate(-1deg)}.christianity-leader-card{width:min(100%,6.5rem);min-height:5.8rem}.christianity-battle-zone{grid-template-columns:repeat(4,minmax(4rem,1fr))}.christianity-shared-zone{display:grid;grid-template-columns:repeat(3,minmax(4.3rem,1fr));align-items:stretch}.christianity-zone-pile{position:relative;isolation:isolate;overflow:hidden;min-height:5.6rem;box-shadow:inset 0 0 0 999px #ffffff1f}.christianity-zone-pile i{position:absolute;inset:.62rem .72rem auto auto;z-index:-1;width:2.7rem;height:3.7rem;border:1px solid rgba(16,42,67,.18);border-radius:.35rem;background:#f8fafc;box-shadow:0 .35rem .85rem #102a431c;transform:rotate(4deg)}.christianity-zone-pile i:nth-child(2){transform:translate(-.28rem,.12rem) rotate(-3deg)}.christianity-zone-pile i:nth-child(3){background:linear-gradient(135deg,#102a4329,#102a4308),repeating-linear-gradient(45deg,#dbeafe 0 .33rem,#fff .33rem .66rem);transform:translate(-.54rem,.24rem) rotate(2deg)}.christianity-floating-card{position:fixed;top:50%;left:50%;z-index:21;display:grid;gap:.45rem;width:min(20rem,calc(100vw - 2rem));min-height:min(27rem,calc(100vh - 5rem));padding:1rem;border:1px solid rgba(36,48,68,.18);border-radius:.75rem;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at 20% 0%,rgba(37,99,235,.12),transparent 45%);box-shadow:0 2.4rem 5rem #102a4357,inset 0 0 0 .35rem #ffffff8c;touch-action:none;transform:translate(calc(-50% + var(--preview-shift-x, 0px)),calc(-50% + var(--preview-shift-y, 0px))) perspective(48rem) rotateX(var(--preview-rotate-x, 5deg)) rotateY(var(--preview-rotate-y, -5deg));transition:transform 90ms ease-out}.christianity-preview-backdrop,.christianity-history-backdrop{position:fixed;inset:0;z-index:20;border:0;border-radius:0;background:#0f172a75}.christianity-floating-card small,.christianity-floating-card span{color:#1f2933a3}.christianity-floating-card strong{font-size:clamp(1.35rem,8vw,2rem);line-height:1.05}.christianity-floating-card p{margin:0;align-self:end;font-size:.95rem;line-height:1.35}.christianity-history-backdrop{z-index:22}.christianity-history-drawer{position:fixed;right:max(.5rem,env(safe-area-inset-right));bottom:max(.5rem,env(safe-area-inset-bottom));left:max(.5rem,env(safe-area-inset-left));z-index:23;display:grid;gap:.75rem;max-height:min(27rem,calc(100vh - 4rem));padding:.8rem;border:1px solid rgba(36,48,68,.16);border-radius:.75rem;background:#fffffffa;box-shadow:0 1.5rem 4rem #102a4347}.christianity-history-drawer header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.christianity-history-drawer h2,.christianity-history-drawer p{margin:0}.christianity-history-drawer header span{display:grid;place-items:center;min-width:1.85rem;height:1.85rem;border-radius:999px;background:#edf2f7;font-weight:800}.christianity-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.4rem,1fr));gap:.55rem;overflow-y:auto;padding:.1rem .1rem .25rem}.christianity-offerings-drawer{max-height:min(30rem,calc(100vh - 3rem))}.christianity-offering-list{display:grid;gap:.6rem;overflow-y:auto;padding:.1rem}.christianity-offering-row{display:grid;grid-template-columns:minmax(4.9rem,6.2rem) minmax(0,1fr);gap:.65rem;align-items:stretch;padding:.45rem;border:1px solid rgba(36,48,68,.12);border-radius:.65rem;background:#fff}.christianity-offering-row.is-exhausted{opacity:.68}.christianity-offering-card{min-height:7.4rem;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at 82% 14%,#facc15 0 .48rem,transparent .5rem);box-shadow:0 .45rem 1rem #102a431a}.christianity-offering-card small{color:#1f293394;font-size:.66rem;text-transform:uppercase}.christianity-offering-card p,.christianity-offering-row p{margin:0}.christianity-offering-card p{align-self:end;color:#1f2933a3;font-size:.72rem;line-height:1.2}.christianity-offering-row>div{display:grid;gap:.35rem;align-content:center;min-width:0}.christianity-offering-row>div p{color:#1f2933b8;font-size:.85rem;line-height:1.3}.christianity-offering-row>div button{justify-self:start;min-height:2.2rem;padding:0 .7rem;border:1px solid rgba(16,42,67,.16);border-radius:.5rem;background:#102a43;color:#fff;font:inherit;font-weight:800}.christianity-offering-row>div button:disabled{background:#e2e8f0;color:#1f293394}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible{outline:.1875rem solid rgba(37,99,235,.24);outline-offset:.125rem}@media (max-width: 720px){.christianity-shell{padding:.55rem 0;border-right:0;border-left:0;border-radius:0}.christianity-header,.christianity-player__summary,.christianity-shared-zone,.christianity-actions{align-items:stretch;flex-direction:column}.christianity-match-strip{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.35rem;padding:.35rem}.christianity-match-player{gap:.35rem}.christianity-match-player small{display:none}.christianity-scoreboard{min-width:3.65rem;padding:0 .35rem}.christianity-scoreboard strong{font-size:1.05rem}.christianity-table{gap:.35rem}.christianity-player-side{padding:.3rem .25rem}.christianity-battle-zone{grid-template-columns:repeat(4,minmax(3.35rem,1fr));overflow-x:auto}.christianity-hand-fan{min-height:6.8rem;overflow-x:clip}.christianity-hand-shelf{min-height:7.4rem;padding-top:.25rem}.christianity-player-rack{grid-template-columns:minmax(4.7rem,5.9rem) minmax(4.8rem,1fr) minmax(3.7rem,5rem)}.christianity-shared-zone{grid-template-columns:repeat(3,minmax(3.7rem,1fr))}.christianity-card-preview-card{width:clamp(4.2rem,20vw,5.7rem);min-height:clamp(5.8rem,26vw,7.4rem)}.christianity-offering-row{grid-template-columns:minmax(4.5rem,5.5rem) minmax(0,1fr);gap:.5rem}.christianity-opponent-hand-area{min-height:4.15rem}.christianity-hand-fan--opponent{min-height:4rem}}\n"] }]
68823
68971
  }], ctorParameters: () => [] });
68824
68972
 
68825
68973
  addIcons({ refreshOutline, sparklesOutline, trophyOutline });