/* Finca Coyoacan — Santa and reindeer sweeping the full viewport in both axes, 7 Nov 2026.
   Replaces the seasonal half-size stylesheet. Does not alter other widgets.
   Text stays upright; decorative layers never capture pointer input. */
#fc-calavera-card,
#fc-calavera-card[data-size="compact"],
#fc-calavera-card[data-size="dense"] {
  --fc-skull-size: 92px;
  --fc-santa-cycle: 64s;
  --fc-ornament-width: 232px;
  --fc-skull-edge: 32px;
  --fc-skull-travel: max(0px, calc(100vw - var(--fc-ornament-width) - var(--fc-skull-edge) * 2 - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)));
  --fc-santa-travel-y: max(0px, calc(var(--fc-viewport-height, 100vh) - var(--fc-skull-size) - 54px - 48px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)));
  top: calc(24px + env(safe-area-inset-top, 0px));
  left: calc(var(--fc-skull-edge) + env(safe-area-inset-left, 0px));
  width: var(--fc-ornament-width);
  height: calc(var(--fc-skull-size) + 54px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  transform-origin: center;
  pointer-events: none;
  animation: fc-santa-fullscreen-20261107 var(--fc-santa-cycle) linear infinite;
}
#fc-calavera-card .fc-calavera-image,
#fc-calavera-card[data-size="compact"] .fc-calavera-image,
#fc-calavera-card[data-size="dense"] .fc-calavera-image {
  display: block;
  width: calc(var(--fc-ornament-width) - 12px);
  height: var(--fc-skull-size);
  margin: 0 auto 6px;
  object-fit: contain;
  animation: fc-calavera-lift-20261030 4.8s ease-in-out infinite;
  pointer-events: none;
}
#fc-calavera-card .fc-calavera-copy,
#fc-calavera-card[data-size="compact"] .fc-calavera-copy,
#fc-calavera-card[data-size="dense"] .fc-calavera-copy {
  display: block;
  margin: 0;
  padding: 0;
  color: #57534c;
  font: 300 11px/15px "Finca Open Sans", "Open Sans", Arial, sans-serif;
  text-align: center;
  text-shadow: 0 1px 2px #f4eee5, 0 0 3px #f4eee5, 0 0 6px #f4eee5;
  animation: fc-calavera-copy-lift-20261030 4.8s ease-in-out infinite;
  pointer-events: none;
}
#fc-calavera-close {
  top: -12px;
  right: -12px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  opacity: .7;
  pointer-events: auto;
  animation: none;
  transform: none;
}
#fc-calavera-close svg {
  width: 12px;
  height: 12px;
  animation: none;
  transform: none;
  filter: drop-shadow(0 0 2px #f4eee5);
}
#fc-calavera-close:is(:hover, :focus-visible) {
  opacity: 1;
  background: #f4eee5;
}
#fc-calavera-card:is(:hover, :focus-within),
#fc-calavera-card:is(:hover, :focus-within) .fc-calavera-image,
#fc-calavera-card:is(:hover, :focus-within) .fc-calavera-copy {
  animation-play-state: paused;
}
/* Six diagonal crossings sweep top, middle and bottom, then return upward. */
#fc-calavera-card .fc-santa-turn {
  display: block;
  width: 100%;
  height: calc(var(--fc-skull-size) + 6px);
  transform-origin: center;
  animation: fc-santa-fullturn-20261107 var(--fc-santa-cycle) linear infinite;
  pointer-events: none;
}
#fc-calavera-card *, #fc-calavera-card *::before, #fc-calavera-card *::after {
  pointer-events: none;
}
#fc-calavera-card #fc-calavera-close { pointer-events: auto; }
/* Yield the close target as well whenever it passes another clickable control. */
#fc-calavera-card #fc-calavera-close[data-over-control="true"] {
  pointer-events: none;
  opacity: 0;
}
#fc-calavera-card #fc-calavera-close[data-over-control="true"]:focus-visible { opacity: 1; }
#fc-calavera-card:is(:hover, :focus-within) .fc-santa-turn {
  animation-play-state: paused;
}
@keyframes fc-santa-fullscreen-20261107 {
  0% { transform: translate(0, 0); }
  16%, 17% { transform: translate(var(--fc-skull-travel), calc(var(--fc-santa-travel-y) / 3)); }
  33%, 34% { transform: translate(0, calc(var(--fc-santa-travel-y) * 2 / 3)); }
  50%, 51% { transform: translate(var(--fc-skull-travel), var(--fc-santa-travel-y)); }
  67%, 68% { transform: translate(0, calc(var(--fc-santa-travel-y) * 2 / 3)); }
  84%, 85% { transform: translate(var(--fc-skull-travel), calc(var(--fc-santa-travel-y) / 3)); }
  99%, 100% { transform: translate(0, 0); }
}
@keyframes fc-santa-fullturn-20261107 {
  0%, 16%, 34%, 50%, 68%, 84%, 100% { transform: scaleX(1); }
  17%, 33%, 51%, 67%, 85%, 99% { transform: scaleX(-1); }
}
@keyframes fc-calavera-lift-20261030 {
  0%, 100% { transform: translateY(-14px) rotate(-3deg); }
  50% { transform: translateY(14px) rotate(3deg); }
}
@keyframes fc-calavera-copy-lift-20261030 {
  0%, 100% { transform: translateY(-14px); }
  50% { transform: translateY(14px); }
}
@media (max-width: 600px) {
  #fc-calavera-card,
  #fc-calavera-card[data-size="compact"],
  #fc-calavera-card[data-size="dense"] {
    --fc-skull-size: 72px;
    --fc-ornament-width: 188px;
    --fc-skull-edge: 32px;
    --fc-santa-cycle: 42s;
  }
}
@media (prefers-reduced-motion: reduce) {
  #fc-calavera-card,
  #fc-calavera-card .fc-santa-turn,
  #fc-calavera-card .fc-calavera-image,
  #fc-calavera-card .fc-calavera-copy,
  #fc-calavera-close,
  #fc-calavera-close svg { animation: none !important; transform: none !important; }
}
@media print { #fc-calavera-card { display: none !important; } }
