/* === 既存 === */
.um-tas-draggable {
    cursor: grab;
    -webkit-overflow-scrolling: touch;
    overflow-x: auto;
    overflow-y: hidden;
  }
  .um-tas-dragging {
    cursor: grabbing !important;
    user-select: none !important;
  }
  
  /* === オーバーレイ（ヒント） === */
  .um-tas-hint {
    position: sticky;          /* スクロール中も見切れにくく */
    inset-block-start: 0.5rem; /* top */
    inset-inline-start: 50%;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .75rem;
    border-radius: 999px;
    background: rgba(32, 32, 32, .85);
    color: #fff;
    font-size: .875rem;
    line-height: 1;
    z-index: 5;
    pointer-events: none;      /* ドラッグ操作を邪魔しない */
    opacity: 0;
    transition: opacity .25s ease;
    white-space: nowrap;
  }
  
  .um-tas-hint.is-visible { opacity: 1; }
  
  .um-tas-hint-icon {
    display: inline-flex;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    animation: um-tas-nudge 1.2s ease-in-out infinite;
  }
  
  @keyframes um-tas-nudge {
    0%   { transform: translateX(0) }
    40%  { transform: translateX(6px) }
    100% { transform: translateX(0) }
  }
  
  /* 端のフェード（はみ出し示唆） */
  .um-tas-fade {
    position: relative;
  }
  .um-tas-fade::before,
  .um-tas-fade::after {
    content: "";
    position: sticky;
    inset-block: 0;
    width: 36px;
    pointer-events: none;
    z-index: 4;
  }
  .um-tas-fade::before {
    inset-inline-start: 0;
    background: linear-gradient(90deg, rgba(255,255,255,1), rgba(255,255,255,0));
  }
  .um-tas-fade::after {
    inset-inline-end: 0;
    background: linear-gradient(-90deg, rgba(255,255,255,1), rgba(255,255,255,0));
  }
  
  /* ダーク背景の表にも馴染むよう薄めバリエーション（必要ならクラスで切替） */
  .um-tas-fade.is-dark::before {
    background: linear-gradient(90deg, rgba(0,0,0,.45), rgba(0,0,0,0));
  }
  .um-tas-fade.is-dark::after {
    background: linear-gradient(-90deg, rgba(0,0,0,.45), rgba(0,0,0,0));
  }
  
  /* reduced motion 配慮 */
  @media (prefers-reduced-motion: reduce) {
    .um-tas-hint-icon { animation: none; }
  }
  