/* Master motion: feedback is not evidence of voucher validity. */
:root {
  --motion-micro: 120ms;
  --motion-functional: 160ms;
  --motion-structural: 240ms;
  --motion-navigational: 320ms;
  --motion-fast: var(--motion-micro);
  --motion-press: var(--motion-micro);
  --motion-card: var(--motion-functional);
  --motion-sheet: var(--motion-structural);
  --motion-route: var(--motion-navigational);
  --screen-ease-out: var(--ease-standard);
  --screen-ease-in: var(--ease-standard);
  --skeleton-duration: 1200ms;
}
.button, .icon-button, .filter-chip, .master-save {
  transition: background var(--motion-micro) var(--ease-standard),
    color var(--motion-micro) var(--ease-standard),
    transform var(--motion-micro) var(--ease-standard),
    box-shadow var(--motion-micro) var(--ease-standard);
}
.master-deal-card, .shortcut, .library-card { transition: transform var(--motion-functional) var(--ease-standard), box-shadow var(--motion-functional) var(--ease-standard); }
.master-media img { transition: transform var(--motion-functional) var(--ease-standard); }
@media(hover:hover) {
  .master-deal-card:hover .master-media img { transform: scale(1.03); }
  .master-deal-card:hover, .library-card:hover { transform: translateY(calc(-1 * var(--motion-distance-hover))); box-shadow:var(--shadow-raised); }
}
.master-deal-card:focus-within { box-shadow:var(--shadow-raised); }
.button:active:not(:disabled), .icon-button:active:not(:disabled) { transform:translateY(var(--motion-distance-press)); }
dialog[open] { animation: master-sheet-enter var(--motion-structural) var(--ease-standard); }
dialog[open][data-closing=true] { animation: master-sheet-exit var(--motion-structural) var(--ease-standard) forwards; }
@keyframes master-sheet-enter { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes master-sheet-exit { to { opacity:0; transform:translateY(16px); } }
body[data-master-design] [data-view]:not([hidden]) { animation: master-route-enter var(--motion-navigational) var(--ease-standard); }
@keyframes master-route-enter { from { opacity:.5; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
body[data-master-design] .hero[data-bridge-period] .hero-photo { transition: opacity var(--motion-navigational) var(--ease-standard); }
@media(max-width:760px) {
  @keyframes master-sheet-enter { from { opacity:.5; transform:translateY(100%); } to { opacity:1; transform:translateY(0); } }
  @keyframes master-sheet-exit { to { opacity:.5; transform:translateY(100%); } }
}
html[data-reduce-motion=true] *, html[data-reduce-motion=true] *::before, html[data-reduce-motion=true] *::after {
  animation:none!important; transition:none!important; scroll-behavior:auto!important;
}
html[data-reduce-motion=true] .master-media img, html[data-reduce-motion=true] .master-deal-card,
html[data-reduce-motion=true] .library-card { transform:none!important; }
@media(prefers-reduced-motion:reduce) {
  :root { --motion-micro:0ms; --motion-functional:0ms; --motion-structural:0ms; --motion-navigational:0ms; }
  *, *::before, *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
