/* Hux interaction hover v96: restrained micro-feedback with stable geometry. */

:root {
  --hux-hover-fast: 108ms;
  --hux-hover-base: 148ms;
  --hux-hover-ease: cubic-bezier(0.33, 1, 0.68, 1);
  --hux-hover-surface: #171718;
  --hux-hover-border: #56565a;
}

/* Discovery rail */
#assets-view .asset-toolbar .search-wrap,
#category-pills > .pill,
#subcategory-pills > .secondary-pill {
  transition:
    background-color var(--hux-hover-base) var(--hux-hover-ease),
    border-color var(--hux-hover-base) var(--hux-hover-ease),
    color var(--hux-hover-fast) ease-out,
    box-shadow var(--hux-hover-base) var(--hux-hover-ease);
}

#assets-view .asset-toolbar .search-wrap .ui-icon,
#assets-view .asset-toolbar .search-wrap kbd,
#category-pills > .pill .ui-icon,
#category-pills > .pill .pill-copy,
#category-pills > .pill .pill-count,
#category-pills > .pill .pill-branch-indicator,
#subcategory-pills > .secondary-pill .ui-icon,
#subcategory-pills > .secondary-pill > span:not(.ui-icon) {
  transition:
    color var(--hux-hover-fast) ease-out,
    border-color var(--hux-hover-fast) ease-out,
    opacity var(--hux-hover-fast) ease-out,
    transform var(--hux-hover-base) var(--hux-hover-ease);
}

#assets-view .asset-toolbar .search-wrap:focus-within .ui-icon {
  transform: scale(1.045);
}

#assets-view .asset-toolbar .search-wrap:focus-within kbd {
  border-color: #4d4d52;
  color: #929297;
}

#category-pills > .pill:not(:disabled):focus-visible .pill-copy,
#subcategory-pills > .secondary-pill:not(:disabled):focus-visible > span:not(.ui-icon):not(.pill-count) {
  transform: translateX(2px);
}

#category-pills > .pill:not(:disabled):focus-visible .ui-icon,
#subcategory-pills > .secondary-pill:not(:disabled):focus-visible .ui-icon {
  color: #dadadd;
  transform: scale(1.045);
}

#category-pills > .pill:not(:disabled):focus-visible .pill-count,
#subcategory-pills > .secondary-pill:not(:disabled):focus-visible .pill-count {
  color: #a5a5aa;
}

#category-pills > .pill:not(:disabled):focus-visible .pill-branch-indicator {
  transform: translateX(3px);
}

/* Asset cards stay planted; only their surface and local content respond. */
.asset-card,
.asset-card:hover,
.asset-card:focus-visible,
.asset-card:focus-within {
  transform: none;
  transition:
    border-color var(--hux-hover-base) var(--hux-hover-ease),
    background-color var(--hux-hover-base) var(--hux-hover-ease),
    box-shadow var(--hux-hover-base) var(--hux-hover-ease);
}

.asset-card:focus-visible,
.asset-card:focus-within {
  border-color: var(--hux-hover-border);
  background: #121213;
  box-shadow:
    0 14px 34px rgb(0 0 0 / 20%),
    inset 0 0 0 1px rgb(255 255 255 / 1.5%);
}

.asset-card .asset-cover-media .asset-cover-preview,
.asset-card:hover .asset-cover-media .asset-cover-preview,
.asset-card:focus-visible .asset-cover-media .asset-cover-preview,
.asset-card:focus-within .asset-cover-media .asset-cover-preview,
.asset-card:focus-within:not(:hover) .asset-cover-media .asset-cover-preview,
.asset-card .visual,
.asset-card:hover .visual,
.asset-card:focus-visible .visual,
.asset-card:focus-within .visual,
.asset-card .skill-card-noise,
.asset-card:hover .skill-card-noise,
.asset-card:focus-within .skill-card-noise,
.asset-card .skill-card-body,
.asset-card:hover .skill-card-body,
.asset-card:focus-visible .skill-card-body,
.asset-card:focus-within .skill-card-body,
.asset-card .skill-owner-copy .skill-card-summary,
.asset-card:hover .skill-owner-copy .skill-card-summary,
.asset-card:focus-visible .skill-owner-copy .skill-card-summary,
.asset-card:focus-within .skill-owner-copy .skill-card-summary,
.asset-card .card-category-tag,
.asset-card:hover .card-category-tag,
.asset-card:focus-visible .card-category-tag,
.asset-card:focus-within .card-category-tag {
  transition:
    opacity var(--hux-hover-base) ease-out,
    color var(--hux-hover-fast) ease-out,
    border-color var(--hux-hover-base) ease-out,
    background-color var(--hux-hover-base) ease-out,
    filter var(--hux-hover-base) var(--hux-hover-ease),
    transform var(--hux-hover-base) var(--hux-hover-ease);
}

.asset-card:focus-visible .asset-cover-media .asset-cover-preview,
.asset-card:focus-within .asset-cover-media .asset-cover-preview,
.asset-card:focus-within:not(:hover) .asset-cover-media .asset-cover-preview {
  filter: saturate(0.94) contrast(1.03) brightness(0.94);
  transform: scale(1.01);
}

.asset-card:focus-visible .visual,
.asset-card:focus-within .visual {
  opacity: 0.82;
  transform: translateY(-2px);
}

.asset-card:focus-visible .skill-card-noise,
.asset-card:focus-within .skill-card-noise {
  opacity: 0.13;
}

.asset-card .skill-owner-copy .skill-card-summary {
  transform: translateY(3px);
}

.asset-card .skill-owner-copy {
  transition:
    grid-template-rows var(--hux-hover-base) var(--hux-hover-ease),
    gap var(--hux-hover-base) var(--hux-hover-ease);
}

.asset-card:focus-visible .skill-owner-copy .skill-card-summary,
.asset-card:focus-within .skill-owner-copy .skill-card-summary {
  transform: translateY(0);
}

/* Local actions */
.skill-card > .favorite-btn,
.asset-grid .skill-card > .favorite-btn,
.asset-card:hover > .favorite-btn,
.asset-card:focus-within > .favorite-btn,
.asset-card:focus-within:not(:hover) > .favorite-btn,
.sheet-close-button,
.skill-detail-link,
#assets-view .view-tab,
#assets-view .upload-button,
.topbar .nav-link,
.topbar .user-menu {
  transition:
    color var(--hux-hover-fast) ease-out,
    border-color var(--hux-hover-fast) ease-out,
    background-color var(--hux-hover-base) var(--hux-hover-ease),
    box-shadow var(--hux-hover-base) var(--hux-hover-ease),
    transform var(--hux-hover-base) var(--hux-hover-ease);
}

.favorite-btn .ui-icon,
.sheet-close-button .ui-icon,
.skill-detail-link .ui-icon,
#assets-view .view-tab .ui-icon,
#assets-view .upload-button .ui-icon,
.topbar .nav-link .ui-icon,
.topbar .user-menu .ui-icon {
  transition:
    color var(--hux-hover-fast) ease-out,
    transform var(--hux-hover-base) var(--hux-hover-ease);
}

.skill-card > .favorite-btn:focus-visible,
.asset-grid .skill-card > .favorite-btn:focus-visible,
.asset-card:focus-within:not(:hover) > .favorite-btn:focus-visible,
.sheet-close-button:focus-visible,
#assets-view .view-tab:focus-visible,
#assets-view .upload-button:focus-visible,
.topbar .nav-link:focus-visible,
.topbar .user-menu:focus-visible {
  transform: translateY(-1px);
}

.skill-card > .favorite-btn:focus-visible .ui-icon,
.asset-card:focus-within:not(:hover) > .favorite-btn:focus-visible .ui-icon {
  transform: rotate(-5deg) scale(1.045);
}

.skill-detail-link:focus-visible .ui-icon,
#assets-view .upload-button:focus-visible .ui-icon,
.topbar .nav-link:focus-visible .ui-icon {
  transform: translateX(2px);
}

@media (hover: hover) and (pointer: fine) {
  #assets-view .asset-toolbar .search-wrap:hover .ui-icon {
    color: #a8a8ac;
    transform: scale(1.045);
  }

  #assets-view .asset-toolbar .search-wrap:hover kbd {
    border-color: #4d4d52;
    color: #929297;
  }

  #category-pills > .pill:not(:disabled):hover .pill-copy,
  #subcategory-pills > .secondary-pill:not(:disabled):hover > span:not(.ui-icon):not(.pill-count) {
    transform: translateX(2px);
  }

  #category-pills > .pill:not(:disabled):hover .ui-icon,
  #subcategory-pills > .secondary-pill:not(:disabled):hover .ui-icon {
    color: #dadadd;
    transform: scale(1.045);
  }

  #category-pills > .pill:not(:disabled):hover .pill-count,
  #subcategory-pills > .secondary-pill:not(:disabled):hover .pill-count {
    color: #a5a5aa;
  }

  #category-pills > .pill:not(:disabled):hover .pill-branch-indicator {
    transform: translateX(3px);
  }

  .asset-card:hover {
    border-color: var(--hux-hover-border);
    background: #121213;
    box-shadow:
      0 14px 34px rgb(0 0 0 / 20%),
      inset 0 0 0 1px rgb(255 255 255 / 1.5%);
  }

  .asset-card:hover .asset-cover-media .asset-cover-preview {
    filter: saturate(0.94) contrast(1.03) brightness(0.94);
    transform: scale(1.01);
  }

  .asset-card:hover .visual {
    opacity: 0.82;
    transform: translateY(-2px);
  }

  .asset-card:hover .skill-card-noise {
    opacity: 0.13;
  }

  .asset-card:hover .skill-owner-copy .skill-card-summary {
    transform: translateY(0);
  }

  .skill-card > .favorite-btn:hover,
  .asset-grid .skill-card > .favorite-btn:hover,
  .asset-card:hover > .favorite-btn:hover,
  .sheet-close-button:hover,
  #assets-view .view-tab:hover,
  #assets-view .upload-button:hover,
  .topbar .nav-link:hover,
  .topbar .user-menu:hover {
    transform: translateY(-1px);
  }

  .skill-card > .favorite-btn:hover .ui-icon,
  .asset-card:hover > .favorite-btn:hover .ui-icon {
    transform: rotate(-5deg) scale(1.045);
  }

  .skill-detail-link:hover .ui-icon,
  #assets-view .upload-button:hover .ui-icon,
  .topbar .nav-link:hover .ui-icon {
    transform: translateX(2px);
  }
}

@media (prefers-reduced-motion: reduce) {
  #assets-view .asset-toolbar .search-wrap,
  #assets-view .asset-toolbar .search-wrap *,
  #category-pills > .pill,
  #category-pills > .pill *,
  #subcategory-pills > .secondary-pill,
  #subcategory-pills > .secondary-pill *,
  .asset-card,
  .asset-card *,
  .favorite-btn,
  .sheet-close-button,
  .skill-detail-link,
  #assets-view .view-tab,
  #assets-view .upload-button,
  .topbar .nav-link,
  .topbar .user-menu {
    transition-duration: 0.01ms !important;
  }

  #assets-view .asset-toolbar .search-wrap *,
  #category-pills > .pill *,
  #subcategory-pills > .secondary-pill *,
  .asset-card *,
  .favorite-btn,
  .sheet-close-button,
  .skill-detail-link,
  #assets-view .view-tab,
  #assets-view .upload-button,
  .topbar .nav-link,
  .topbar .user-menu {
    transform: none !important;
  }
}
