.event-list {
  position: relative;
  height: 272px;
  padding: 8px 20px;
  overflow: hidden;
  mask-image: linear-gradient(to bottom, transparent 0, #000 8%, #000 88%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 8%, #000 88%, transparent 100%);
}

.event-list__track {
  animation: ktso-calendar-scroll 36s linear infinite;
  will-change: transform;
}

.event-list__group {
  height: calc(var(--event-count, 4) * 64px);
}

.event-list:hover .event-list__track,
.event-list.is-dragging .event-list__track,
.event-list:focus-within .event-list__track {
  animation-play-state: paused;
}

.event-list--draggable {
  cursor: grab;
  touch-action: pan-x pinch-zoom;
  user-select: none;
  -webkit-user-select: none;
}

.event-list--draggable.is-dragging { cursor: grabbing; }
.event-list article>.event-detail{background:#f3f3f3;color:#b6b6b6;border-radius:10px;padding:3px 8px;font-size:11px;text-decoration:none;cursor:pointer}
.event-list article>.event-detail:hover{color:var(--orange)}
.event-detail:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.calendar-detail-anchor{scroll-margin-top:140px}
@media(max-width:767px){.event-list article>.event-detail{display:none}}
.event-list--draggable:focus-visible { outline: 2px solid var(--orange); outline-offset: -2px; }

@keyframes ktso-calendar-scroll {
  from { transform: translateY(0); }
  to { transform: translateY(var(--scroll-distance, -256px)); }
}

@media (prefers-reduced-motion: reduce) {
  .event-list__track {
    animation: none;
  }
}

.calendar-empty {
  height: 272px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px 20px;
  text-align: center;
  color: #657184;
}
.calendar-empty p { margin: 0; font-size: 14px; line-height: 1.6; }
