/* Pocket-level tactility on top of existing *-system owners.
   Opt-in by class/attribute. Never restyles card faces globally.
   Calm / prefers-reduced-motion disable decorative motion only.
   Timing tokens live in ui-system.css (--pm-ui-nav-time, --pm-ui-card-focus-time). */

/* --- Hub tableau presence (Phase 2) --- */
@media (prefers-reduced-motion: no-preference) {
  html:not(.calm-motion) .home-system .home-feature-card {
    transition: transform var(--pm-ui-card-focus-time) var(--pm-ui-ease), box-shadow var(--pm-ui-nav-time) var(--pm-ui-ease);
  }
  html:not(.calm-motion) .home-system .home-feature-card:nth-child(1) {
    animation: pocketTableauBob 4.8s var(--pm-ui-ease) infinite;
  }
  html:not(.calm-motion) .home-system .home-feature-card:nth-child(2) {
    animation: pocketTableauBob 5.2s var(--pm-ui-ease) .4s infinite;
  }
  html:not(.calm-motion) .home-system .home-feature-card:nth-child(3) {
    animation: pocketTableauBob 5.6s var(--pm-ui-ease) .8s infinite;
  }
}
@keyframes pocketTableauBob {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -4px; }
}

/* --- Binder finish treasure shimmer (Phase 2) --- */
.permanent-binder .binder-entry.binder-finish-holo .binder-card-art::after,
.permanent-binder .binder-entry.binder-finish-ghost .binder-card-art::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  z-index: 2;
  opacity: .35;
  background: linear-gradient(115deg, transparent 30%, #ffffff55 48%, transparent 66%);
  background-size: 220% 100%;
}
@media (prefers-reduced-motion: no-preference) {
  html:not(.calm-motion) .permanent-binder .binder-entry.binder-finish-holo .binder-card-art::after,
  html:not(.calm-motion) .permanent-binder .binder-entry.binder-finish-ghost .binder-card-art::after {
    animation: pocketBinderShimmer 3.6s ease-in-out infinite;
  }
}
.permanent-binder .binder-entry.binder-finish-ghost .binder-card-art {
  box-shadow: 0 5px 18px color-mix(in srgb, #dfe9ff 28%, var(--pm-ui-shadow));
}
.permanent-binder .binder-entry.binder-finish-holo .binder-card-art {
  box-shadow: 0 5px 18px color-mix(in srgb, var(--rarity) 35%, var(--pm-ui-shadow));
}
@keyframes pocketBinderShimmer {
  0%, 100% { background-position: 120% 0; opacity: .22; }
  45% { opacity: .45; }
  100% { background-position: -20% 0; }
}

/* --- Inspect admire signifier (Phase 3) --- */
.card-showcase .showcase-admire-hint {
  margin: 0;
  text-align: center;
  font-size: var(--pm-ui-meta-size);
  line-height: 1.4;
  color: var(--pm-ui-muted);
}
.card-showcase[data-card-back=true] .showcase-admire-hint,
.card-showcase[data-artwork=true] .showcase-admire-hint,
.card-showcase[data-inspect-panel=details] .showcase-admire-hint {
  display: none;
}
@media (pointer: coarse) {
  .card-showcase .showcase-admire-hint[data-pointer=fine] { display: none; }
}
@media (pointer: fine) {
  .card-showcase .showcase-admire-hint[data-pointer=coarse] { display: none; }
}

/* --- Pack float + acquire settle (Phase 4) --- */
@media (prefers-reduced-motion: no-preference) {
  html:not(.calm-motion) .pack-experience.pack-sealed .pale-booster:not(:disabled) {
    animation: pocketPackFloat 2.8s ease-in-out infinite;
  }
  html:not(.calm-motion) .pack-pull.just-revealed {
    animation: pocketAcquireDrop 420ms var(--pm-ui-ease) both;
  }
  html:not(.calm-motion) .pack-pull.special-pull.just-revealed .pack-card-surface {
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--rarity) 70%, transparent), 0 12px 36px color-mix(in srgb, var(--rarity) 35%, transparent);
  }
}
@keyframes pocketPackFloat {
  0%, 100% { transform: translateY(0) rotate(-3deg); }
  50% { transform: translateY(-7px) rotate(2deg); }
}
@keyframes pocketAcquireDrop {
  from { opacity: 0; transform: translateY(-18px) scale(.94); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.pack-experience .pack-skip {
  letter-spacing: 0;
}
.pack-gesture-hint {
  display: block;
  text-align: center;
  margin: 8px 0 0;
}

/* --- Map / battle screen enter smoothness (Phase 5) --- */
@media (prefers-reduced-motion: no-preference) {
  html:not(.calm-motion) .exploration-system[data-world-enter],
  html:not(.calm-motion) .battle-system[data-world-enter] {
    animation: pocketScreenEnter var(--pm-ui-nav-time) var(--pm-ui-ease) both;
  }
}
@keyframes pocketScreenEnter {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* --- Cabinet shelf emphasis (Phase 6) --- */
.progression-system .trophy-cabinet {
  background: radial-gradient(ellipse at 50% 0, color-mix(in srgb, var(--pm-ui-accent) 8%, transparent), transparent 70%);
}
.progression-system .trophy-slot.selected {
  box-shadow: 0 0 0 2px var(--pm-ui-accent);
}
.ship-summary .ship-summary-actions .exp-button.primary {
  min-height: 52px;
  font-weight: 650;
}

/* Combat impact readability (Phase 5) — complements attack-feedback.css */
@media (prefers-reduced-motion: no-preference) {
  html:not(.calm-motion) .battle-system .legal-target {
    transition: box-shadow 160ms var(--pm-ui-ease), border-color 160ms var(--pm-ui-ease);
  }
}

/* --- Visibility / Calm kill-switches --- */
html.calm-motion .home-feature-card,
html.calm-motion .pale-booster,
html.calm-motion .pack-pull.just-revealed,
html.calm-motion .binder-entry .binder-card-art::after {
  animation: none !important;
}
@media (prefers-reduced-motion: reduce) {
  .home-feature-card,
  .pale-booster,
  .pack-pull.just-revealed,
  .binder-entry .binder-card-art::after,
  .exploration-system[data-world-enter],
  .battle-system[data-world-enter] {
    animation: none !important;
  }
}
