/* Перетаскивание карточки дела на другой день (этап 4а; поведение — 090-today-drag.js, автомат — 089-drag.js; макет design/новый-вид/часть-1/html/08).
   Классы ставит скрипт: .is-drag на #today (жест идёт), .dragging на поднятой карточке, .is-target / .is-over на днях недели, .drag-clone — клон под пальцем, .drag-hint — подсказка сверху.
   Только токены из 10-tokens.css: цветов, радиусов и размеров текста числами здесь нет (проверяет tests/web-tokens.test.ts). Наклон и размер клона, ширина пунктира — оформление этого жеста, не токены. */

/* долгое нажатие в блоке (и у края карточки — тоже) не выделяет соседний текст и не открывает системное меню iPhone */
.td-full { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }

/* пока карточку несут, ряд и «таблетки» не листаются: страховка на случай, когда iPhone прислал touchmove, который нельзя отменить (позицию прокрутки скрипт запоминает и возвращает) */
.today-slot.is-drag .td-row, .today-slot.is-drag .td-pills { overflow-x: hidden; }

/* поднятая карточка: на её месте пунктирная рамка, остальные дела приглушены */
.td-card.dragging, .td-pill.dragging { border: 2px dashed var(--c-line); background: transparent; box-shadow: none; }
.td-card.dragging > *, .td-pill.dragging > * { visibility: hidden; }
.today-slot.is-drag .td-card:not(.dragging), .today-slot.is-drag .td-pill:not(.dragging), .today-slot.is-drag .td-done { opacity: .5; }

/* дни недели — цели: пунктирная рамка; прошедший день и день, где дело уже стоит, — приглушены; день под пальцем — с рамкой акцента и свечением */
.today-slot.is-drag .td-day { border: 1px dashed var(--c-line); }
.today-slot.is-drag .td-day:not(.is-target) { opacity: .4; border-style: none; }
.today-slot.is-drag .td-day.is-over {
  border: 2px solid var(--c-accent); background: color-mix(in srgb, var(--c-accent) 14%, var(--c-surface)); color: var(--c-text);
  box-shadow: 0 0 var(--sp-12) color-mix(in srgb, var(--c-accent) 50%, transparent);
}
.today-slot.is-drag .td-day.is-over .td-wd { color: var(--c-accent); }
.today-slot.is-drag .td-day.is-over .td-dom { font-weight: var(--fw-bold); }
.today-slot.is-drag .td-day.is-over .td-dot { background: var(--c-text); }

/* клон под пальцем: --dx и --dy ставит скрипт, левый верхний угол и ширину — тоже (по месту исходной карточки) */
.drag-clone {
  position: fixed; z-index: 59; margin: 0; pointer-events: none; will-change: transform;
  border-color: var(--c-accent);   /* у срочной и встречи остаётся своя рамка: у них правило с классом сильнее */
  filter: drop-shadow(0 var(--sp-12) var(--sp-12) color-mix(in srgb, var(--c-shade) var(--shade-mid), transparent));   /* тень не через box-shadow: у срочной он занят свечением */
  transform: translate3d(var(--dx, 0px), var(--dy, 0px), 0) rotate(-4deg) scale(1.06);
}
.drag-clone.td-card { height: auto; min-height: var(--card-h); }
.drag-to { margin-top: var(--sp-4); font-size: var(--fs-caption); line-height: var(--lh-caption); color: var(--c-accent); }
.drag-to[hidden], .td-pill .drag-to { display: none; }

/* подсказка сверху: поверх шапки «Разговор · Задачи» */
.drag-hint {
  position: absolute; z-index: 59; left: var(--gutter); right: var(--gutter); top: calc(env(safe-area-inset-top, 0px) + var(--sp-4));
  min-height: var(--tap); display: flex; align-items: center; justify-content: center; padding: 0 var(--sp-12); pointer-events: none;
  border-radius: var(--r-12); background: color-mix(in srgb, var(--c-accent) 14%, var(--c-surface)); color: var(--c-text);
  font-size: var(--fs-sub); line-height: var(--lh-sub); text-align: center;
}
