/* Gachi stylesheet: interactions.css. Press/tactile feedback overrides. Must stay last. */
/* Extracted verbatim from index.html. Load order is significant; see styles/README.md. */

/* Faster tactile feedback on the main create-flow tap targets. */
#home-create-button,
#home-solo-button,
#home-about-button,
#home-install-button,
.primary-button.friend-create-button,
.screen[data-screen="step-1"] .mode-card,
.screen[data-screen="official-challenges"] .mode-card,
.screen[data-screen="step-2"] .duration-card,
.screen[data-screen="step-3"] .goal-chip,
.screen[data-screen="step-3"] .goal-category-button,
.screen[data-screen="step-5"] .stake-card,
.screen[data-screen^="step-"] .create-bottom-actions .secondary-link,
.screen[data-screen^="step-"] .create-bottom-actions .primary-button,
.screen[data-screen="official-challenges"] .create-bottom-actions .secondary-link,
.screen[data-screen="official-challenges"] .create-bottom-actions .primary-button,
.screen[data-screen="official-summary"] .create-bottom-actions .secondary-link,
.screen[data-screen="official-summary"] .create-bottom-actions .primary-button {
  touch-action: manipulation;
  transition-duration: 30ms;
  transition-timing-function: cubic-bezier(0.2, 0, 0.2, 1);
}

#home-create-button:active,
#home-solo-button:active,
#home-about-button:active,
#home-install-button:active,
.primary-button.friend-create-button:active,
.screen[data-screen="step-1"] .mode-card:active,
.screen[data-screen="official-challenges"] .mode-card:active,
.screen[data-screen="step-2"] .duration-card:active,
.screen[data-screen="step-3"] .goal-chip:active,
.screen[data-screen="step-3"] .goal-category-button:active,
.screen[data-screen="step-5"] .stake-card:active,
.screen[data-screen^="step-"] .create-bottom-actions .secondary-link:active,
.screen[data-screen^="step-"] .create-bottom-actions .primary-button:active,
.screen[data-screen="official-challenges"] .create-bottom-actions .secondary-link:active,
.screen[data-screen="official-challenges"] .create-bottom-actions .primary-button:active,
.screen[data-screen="official-summary"] .create-bottom-actions .secondary-link:active,
.screen[data-screen="official-summary"] .create-bottom-actions .primary-button:active {
  transition-duration: 0ms;
  transition-timing-function: cubic-bezier(0.12, 0, 0.2, 1);
}

#home-create-button.is-pressing,
#home-solo-button.is-pressing,
#home-about-button.is-pressing,
#home-install-button.is-pressing,
.primary-button.friend-create-button.is-pressing,
.screen[data-screen="step-1"] .mode-card.is-pressing,
.screen[data-screen="official-challenges"] .mode-card.is-pressing,
.screen[data-screen="step-2"] .duration-card.is-pressing,
.screen[data-screen="step-3"] .goal-chip.is-pressing,
.screen[data-screen="step-3"] .goal-category-button.is-pressing,
.screen[data-screen="step-5"] .stake-card.is-pressing {
  transform: translateY(2px);
  box-shadow: var(--button-shadow-pressed);
  transition-duration: 0ms;
  transition-timing-function: cubic-bezier(0.12, 0, 0.2, 1);
}

#home-create-button.is-pressing,
.primary-button.friend-create-button.is-pressing {
  box-shadow:
    var(--primary-button-shadow-pressed),
    0 4px 4px rgba(4, 18, 22, 0.28),
    0 9px 12px rgba(4, 18, 22, 0.136);
}

.mode-card:not(.is-selected).is-pressing,
[data-screen="step-3"] .goal-chip:not(.is-selected).is-pressing,
[data-screen="step-5"] .stake-card:not(.is-selected):not(.is-added).is-pressing {
  box-shadow:
    var(--button-shadow-pressed),
    0 3px 3px rgba(4, 18, 22, 0.16),
    0 7px 10px rgba(4, 18, 22, 0.08);
}

.duration-card:not(.is-selected).is-pressing {
  background: linear-gradient(180deg, rgba(58, 125, 118, 0.38), rgba(33, 82, 95, 0.96));
  border-color: rgba(111, 224, 192, 0.28);
  box-shadow:
    inset 0 4px 12px rgba(5, 14, 18, 0.32),
    inset 0 -1px 0 rgba(255, 255, 255, 0.04),
    0 0 0 2px rgba(11, 33, 40, 0.28),
    0 3px 3px rgba(4, 18, 22, 0.16),
    0 7px 10px rgba(4, 18, 22, 0.08);
}

.choice-panel.is-selected.is-pressing,
.duration-card.is-selected.is-pressing,
.goal-chip.is-selected.is-pressing,
.stake-card.is-added.is-pressing {
  transform: translateY(2px);
  background: linear-gradient(180deg, var(--accent-soft), var(--accent-soft-strong));
  border-color: rgba(111, 224, 192, 0.5);
  box-shadow:
    inset 0 4px 12px rgba(9, 26, 30, 0.3),
    inset 0 -1px 0 rgba(245, 255, 251, 0.06),
    0 0 0 2px rgba(14, 44, 46, 0.26),
    0 1px 3px rgba(4, 14, 18, 0.08);
}

.create-bottom-actions .primary-button:active,
.create-bottom-actions .secondary-link.is-pressing,
.create-bottom-actions .primary-button.is-pressing {
  transform: translateY(2px);
  background: transparent;
  box-shadow: none;
}

.screen[data-screen^="step-"] .create-bottom-actions .secondary-link.is-pressing,
.screen[data-screen^="step-"] .create-bottom-actions .primary-button.is-pressing,
.screen[data-screen="official-challenges"] .create-bottom-actions .secondary-link.is-pressing,
.screen[data-screen="official-challenges"] .create-bottom-actions .primary-button.is-pressing,
.screen[data-screen="official-summary"] .create-bottom-actions .secondary-link.is-pressing,
.screen[data-screen="official-summary"] .create-bottom-actions .primary-button.is-pressing {
  background: transparent;
  box-shadow: none;
}

.create-bottom-actions .primary-button.is-pressing:not(:disabled):not(.is-disabled)::before,
.create-bottom-actions #complete-challenge-button.is-pressing.is-ready-to-create:not(:disabled):not(.is-disabled)::before,
.create-bottom-actions #official-summary-accept.is-pressing:not(:disabled):not(.is-disabled)::before {
  top: calc(4px - var(--create-bottom-active-arc-height));
  height: calc(var(--create-bottom-active-arc-height) + var(--create-bottom-press-body-height));
  border-color: var(--create-bottom-line-color);
  border-bottom: var(--create-bottom-line-width) solid rgba(255, 248, 226, 0.34);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 248, 226, 0.28), rgba(255, 248, 226, 0.14) 52%, rgba(255, 248, 226, 0.045));
  box-shadow:
    inset 0 2px 8px rgba(255, 248, 226, 0.12),
    inset 0 -2px 8px rgba(83, 68, 36, 0.12),
    0 2px 4px rgba(4, 14, 18, 0.1);
  transform: translateX(-50%) scaleX(0.985);
  z-index: 0;
  animation: none;
}

.create-bottom-actions #complete-challenge-button.is-pressing.is-ready-to-create:not(:disabled):not(.is-disabled) .create-bottom-frame path,
.create-bottom-actions #official-summary-accept.is-pressing:not(:disabled):not(.is-disabled) .create-bottom-frame path {
  stroke: var(--create-bottom-line-color);
}

.create-bottom-actions #complete-challenge-button.is-pressing.is-ready-to-create:not(:disabled):not(.is-disabled)::before,
.create-bottom-actions #official-summary-accept.is-pressing:not(:disabled):not(.is-disabled)::before {
  border-bottom-color: transparent;
  box-shadow:
    inset 0 2px 8px rgba(255, 248, 226, 0.12),
    0 2px 4px rgba(4, 14, 18, 0.1);
}

.create-bottom-actions #complete-challenge-button.is-pressing.is-ready-to-create:not(:disabled):not(.is-disabled) .create-bottom-frame::after,
.create-bottom-actions #official-summary-accept.is-pressing:not(:disabled):not(.is-disabled):not(.is-invite-link-button) .create-bottom-frame::after {
  opacity: 0.38;
  transform: translateY(1px) scaleX(0.985);
  box-shadow: 0 3px 6px rgba(4, 18, 22, 0.13);
  animation: none;
}

/* Faster tactile feedback on dashboard/day-reporting tap targets. */
.dashboard-bottom-nav-button,
.dashboard-bottom-nav-button .dashboard-bottom-nav-icon,
.dashboard-screen .task-card,
.dashboard-screen .task-comment-badge,
.dashboard-floater-save,
.dashboard-floater-close,
.dashboard-floater-send-icon,
.dashboard-floater-link,
.dashboard-merge-cancel,
.dashboard-merge-action,
.dashboard-merge-choice,
#dashboard-merge-confirm-cancel,
#dashboard-merge-confirm-save,
#dashboard-personal-goal-close,
#dashboard-personal-goal-save,
#dashboard-personal-goal-remove,
#dashboard-response-confirm,
#dashboard-response-draw,
#dashboard-response-sudden,
#dashboard-response-install {
  touch-action: manipulation;
  transition-duration: 90ms;
  transition-timing-function: cubic-bezier(0.2, 0, 0.2, 1);
}

.dashboard-bottom-nav-button:active {
  transform: translateY(1px);
}

.dashboard-bottom-nav-button.is-active:active {
  transform: translateY(1px);
}

.dashboard-bottom-nav-button:active .dashboard-bottom-nav-icon {
  transform: translateY(1px) scale(0.96);
}

.dashboard-bottom-nav-button.is-active:active .dashboard-bottom-nav-icon {
  transform: translateY(1px) scale(1.12);
}

.dashboard-bottom-nav-button:active,
.dashboard-bottom-nav-button:active .dashboard-bottom-nav-icon,
.dashboard-screen .task-card:active,
.dashboard-screen .task-comment-badge:active,
.dashboard-floater-save:active,
.dashboard-floater-close:active,
.dashboard-floater-send-icon:active,
.dashboard-floater-link:active,
.dashboard-merge-cancel:active,
.dashboard-merge-action:active,
.dashboard-merge-choice:active,
#dashboard-merge-confirm-cancel:active,
#dashboard-merge-confirm-save:active,
#dashboard-personal-goal-close:active,
#dashboard-personal-goal-save:active,
#dashboard-personal-goal-remove:active,
#dashboard-response-confirm:active,
#dashboard-response-draw:active,
#dashboard-response-sudden:active,
#dashboard-response-install:active {
  transition-duration: 50ms;
  transition-timing-function: cubic-bezier(0.12, 0, 0.2, 1);
}
