/* Semantic motion: route motion establishes context; local actions never replay the page. */
@keyframes pm-screen-quiet-forward { from { opacity: .72; transform: translate3d(12px,0,0); } to { opacity: 1; transform: none; } }
@keyframes pm-screen-quiet-back { from { opacity: .62; transform: translate3d(-16px,0,0); } to { opacity: 1; transform: none; } }
@keyframes pm-screen-commerce-forward { from { opacity: .68; transform: translate3d(0,14px,0); } to { opacity: 1; transform: none; } }
@keyframes pm-screen-sport-forward { from { opacity: .68; transform: translate3d(10px,0,0) scale(1.008); } to { opacity: 1; transform: none; } }
@keyframes pm-screen-operator-forward { from { opacity: .66; transform: translate3d(0,12px,0); } to { opacity: 1; transform: none; } }
@keyframes pm-screen-identity-forward { from { opacity: .58; transform: translate3d(0,12px,0); } to { opacity: 1; transform: none; } }
@keyframes pm-screen-chat-forward { from { opacity: .68; transform: scale(.985); } to { opacity: 1; transform: none; } }
@keyframes pm-screen-editor-forward { from { opacity: .64; transform: scale(.982); } to { opacity: 1; transform: none; } }
@keyframes pm-screen-fade { from { opacity: .68; transform: translate3d(0,5px,0); } to { opacity: 1; transform: none; } }

@keyframes pm-enter-quiet { from { opacity: .72; transform: translate3d(0,6px,0); } to { opacity: 1; transform: none; } }
@keyframes pm-enter-commerce { from { opacity: .68; transform: translate3d(0,11px,0); } to { opacity: 1; transform: none; } }
@keyframes pm-enter-sport { from { opacity: .68; transform: translate3d(10px,0,0); } to { opacity: 1; transform: none; } }
@keyframes pm-enter-operator { from { opacity: .65; transform: translateY(7px); } to { opacity: 1; transform: none; } }
@keyframes pm-enter-identity { from { opacity: .6; transform: translate3d(0,13px,0); } to { opacity: 1; transform: none; } }
@keyframes pm-enter-chat { from { opacity: .68; transform: translate3d(-10px,4px,0); } to { opacity: 1; transform: none; } }
@keyframes pm-enter-editor { from { opacity: .64; transform: translate3d(0,10px,0) scale(.99); } to { opacity: 1; transform: none; } }
@keyframes pm-item-cascade { from { opacity: .72; transform: translate3d(0,6px,0); } to { opacity: 1; transform: none; } }
@keyframes pm-sticky-dock { from { opacity: .76; transform: translate3d(0,14px,0); } to { opacity: 1; transform: none; } }

@keyframes pm-sheet-in { from { opacity: .3; transform: translate3d(0,105%,0) scale(.98); } 72% { opacity: 1; transform: translate3d(0,-5px,0) scale(1); } to { transform: none; } }
@keyframes pm-sheet-out { to { opacity: 0; transform: translate3d(0,42px,0) scale(.985); } }
@keyframes pm-scrim-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes pm-scrim-out { to { opacity: 0; } }
@keyframes pm-processing-focus { from { opacity: .2; transform: scale(.94); } to { opacity: 1; transform: none; } }
@keyframes pm-toast-in { from { opacity: 0; transform: translate3d(0,-18px,0) scale(.94); } 68% { transform: translate3d(0,2px,0) scale(1); } to { opacity: 1; transform: none; } }
@keyframes pm-toast-line { from { transform: scaleX(1); } to { transform: scaleX(0); } }

@keyframes pm-selection-pop { 0% { transform: scale(.96); } 56% { transform: scale(1.025); } 100% { transform: none; } }
@keyframes pm-icon-confirm { 0% { opacity: 0; transform: rotate(-18deg) scale(.45); } 70% { opacity: 1; transform: rotate(3deg) scale(1.12); } 100% { transform: none; } }
@keyframes pm-brand-settle { from { opacity: 0; transform: rotate(-28deg) scale(.62); } 72% { opacity: 1; transform: rotate(4deg) scale(1.06); } to { transform: none; } }
@keyframes pm-vector-draw { from { opacity: .25; stroke-dasharray: 0 100; } to { opacity: 1; stroke-dasharray: var(--pm-vector-progress) calc(100 - var(--pm-vector-progress)); } }
@keyframes pm-chart-draw { from { stroke-dashoffset: 420; } to { stroke-dashoffset: 0; } }
@keyframes pm-orbit-float { 0%,100% { transform: translate3d(0,0,0) rotate(8deg); } 50% { transform: translate3d(-6px,7px,0) rotate(12deg); } }
@keyframes pm-ball-breathe { 0%,100% { transform: rotate(-12deg) translateY(0); } 50% { transform: rotate(-8deg) translateY(-6px); } }
@keyframes pm-live-breathe { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .42; transform: scale(.72); } }

.pm-screen[data-motion-intent="navigate"].pm-transition--forward.pm-motion--quiet { animation: pm-screen-quiet-forward 300ms var(--pm-ease-standard) both; }
.pm-screen[data-motion-intent="navigate"].pm-transition--back { animation: pm-screen-quiet-back 330ms var(--pm-ease-standard) both; }
.pm-screen[data-motion-intent="navigate"].pm-transition--fade { animation: pm-screen-fade 320ms var(--pm-ease-emphasized) both; }
.pm-screen[data-motion-intent="navigate"].pm-transition--forward.pm-motion--commerce { animation: pm-screen-commerce-forward 360ms var(--pm-ease-emphasized) both; }
.pm-screen[data-motion-intent="navigate"].pm-transition--forward.pm-motion--sport { animation: pm-screen-sport-forward 340ms var(--pm-ease-standard) both; }
.pm-screen[data-motion-intent="navigate"].pm-transition--forward.pm-motion--operator { animation: pm-screen-operator-forward 350ms var(--pm-ease-emphasized) both; }
.pm-screen[data-motion-intent="navigate"].pm-transition--forward.pm-motion--identity { animation: pm-screen-identity-forward 420ms var(--pm-ease-emphasized) both; }
.pm-screen[data-motion-intent="navigate"].pm-transition--forward.pm-motion--chat { animation: pm-screen-chat-forward 340ms var(--pm-ease-standard) both; }
.pm-screen[data-motion-intent="navigate"].pm-transition--forward.pm-motion--editor { animation: pm-screen-editor-forward 390ms var(--pm-ease-emphasized) both; }

.pm-screen[data-motion-intent="navigate"] [data-motion-slot] {
  animation-duration: 340ms;
  animation-fill-mode: both;
  animation-timing-function: var(--pm-ease-emphasized);
  animation-delay: calc(20ms + var(--pm-order, 0) * 26ms);
}
.pm-screen[data-motion-intent="navigate"].pm-motion--quiet [data-motion-slot] { animation-name: pm-enter-quiet; }
.pm-screen[data-motion-intent="navigate"].pm-motion--commerce [data-motion-slot] { animation-name: pm-enter-commerce; }
.pm-screen[data-motion-intent="navigate"].pm-motion--sport [data-motion-slot] { animation-name: pm-enter-sport; }
.pm-screen[data-motion-intent="navigate"].pm-motion--operator [data-motion-slot] { animation-name: pm-enter-operator; }
.pm-screen[data-motion-intent="navigate"].pm-motion--identity [data-motion-slot] { animation-name: pm-enter-identity; animation-duration: 440ms; }
.pm-screen[data-motion-intent="navigate"].pm-motion--chat [data-motion-slot] { animation-name: pm-enter-chat; animation-duration: 420ms; }
.pm-screen[data-motion-intent="navigate"].pm-motion--editor [data-motion-slot] { animation-name: pm-enter-editor; animation-duration: 380ms; }
.pm-screen[data-motion-intent="navigate"] [data-motion-slot="header"] { animation-delay: 0ms; }
.pm-screen[data-motion-intent="navigate"] [data-motion-slot="sticky"] { animation-name: pm-sticky-dock; animation-delay: 140ms; }

.pm-screen[data-motion-intent="navigate"] [data-motion-item] {
  animation: pm-item-cascade 280ms var(--pm-ease-emphasized) both;
  animation-delay: calc(70ms + var(--pm-item-order, 0) * 22ms);
}
.pm-screen[data-motion-intent="navigate"].pm-motion--sport [data-motion-item] { animation-name: pm-enter-sport; }
.pm-screen[data-motion-intent="navigate"].pm-motion--operator [data-motion-item] { animation-name: pm-enter-operator; }

.pm-screen[data-motion-intent="selection"] .is-motion-focus { animation: pm-selection-pop 380ms var(--pm-ease-emphasized) both; }
.pm-screen[data-motion-intent="selection"] .is-motion-focus :is(svg,.pm-vector) { animation: pm-icon-confirm 360ms var(--pm-ease-emphasized) both; }

.pm-sheet,.pm-scrim { animation: none; }
[data-motion-intent="overlay"] .pm-sheet { animation: pm-sheet-in 520ms var(--pm-ease-emphasized) both; }
[data-motion-intent="overlay"] .pm-scrim { animation: pm-scrim-in 260ms ease-out both; }
.pm-sheet.is-leaving { animation: pm-sheet-out var(--pm-motion-exit) ease-in both; }
.pm-scrim.is-leaving { animation: pm-scrim-out var(--pm-motion-exit) ease-in both; }
.pm-payment-processing { animation: pm-processing-focus 380ms var(--pm-ease-emphasized) both; }
.pm-toast { animation: pm-toast-in 430ms var(--pm-ease-emphasized) both; }
.pm-toast::after { content:""; position:absolute; left:14px; right:14px; bottom:0; height:2px; border-radius:9px; background:rgba(255,255,255,.52); transform-origin:left; animation:pm-toast-line 3.2s linear both; }

.pm-screen[data-motion-intent="navigate"] .pm-brand-orbit .pm-vector--brand { animation: pm-brand-settle 720ms var(--pm-ease-emphasized) 120ms both; }
.pm-screen[data-motion-intent="navigate"] .pm-vector__ring-value { animation: pm-vector-draw 820ms var(--pm-ease-emphasized) 320ms both; }
.pm-screen[data-motion-intent="navigate"] .pm-money-module svg path:last-child { stroke-dasharray: 420; animation: pm-chart-draw 920ms var(--pm-ease-emphasized) 280ms both; }
.pm-screen[data-motion-intent="navigate"] .pm-vector--impact circle:not(.pm-vector__impact-track) { animation: pm-icon-confirm 620ms var(--pm-ease-emphasized) 280ms both; }
.pm-hero-card__orbit { animation: pm-orbit-float 8s ease-in-out infinite; }
.pm-hero-card__ball, .pm-explore-hero img { animation: pm-ball-breathe 5.5s ease-in-out infinite; }
.pm-live-badge i, .pm-live-dot i { animation: pm-live-breathe 1.35s ease-in-out infinite; }

.pm-phone.is-edge-swiping .pm-screen { filter: brightness(.97); transform: translate3d(var(--pm-swipe-x,0),0,0); transition: transform 60ms linear, filter var(--pm-fast); }
.pm-phone:not(.is-edge-swiping) .pm-screen { transition: transform 260ms var(--pm-ease-emphasized); }

.pm-button { position: relative; overflow: hidden; isolation: isolate; }
.pm-button::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:linear-gradient(110deg,transparent 18%,rgba(255,255,255,.3) 48%,transparent 76%); transform:translateX(-130%); transition:transform 560ms var(--pm-ease-standard); }
.pm-button > * { position: relative; z-index: 1; }
.pm-scroll button { transition: transform var(--pm-fast) var(--pm-ease-press), box-shadow var(--pm-normal) ease, border-color var(--pm-fast) ease, background-color var(--pm-fast) ease, color var(--pm-fast) ease, filter var(--pm-fast) ease; }
.pm-scroll button:active:not(:disabled) { transform: translateY(1px) scale(.975); transition-duration: 70ms; }
:is(.pm-button,.pm-icon-button,.pm-role-pill,.pm-list-row,.pm-quick-card,.pm-format-grid button,.pm-payment-methods button,.pm-slot-grid button,.pm-date-row button,.pm-partner-list button,.pm-medical-options button,.pm-operator-actions button,.pm-program-grid button,.pm-tournament-tools button,.pm-booking-route button) {
  transition: transform var(--pm-fast) var(--pm-ease-press), box-shadow var(--pm-normal) ease, border-color var(--pm-fast) ease, background-color var(--pm-fast) ease, color var(--pm-fast) ease, filter var(--pm-fast) ease;
  transform-origin: center;
}
:is(.pm-button,.pm-icon-button,.pm-list-row,.pm-quick-card,.pm-format-grid button,.pm-payment-methods button,.pm-slot-grid button,.pm-date-row button,.pm-partner-list button,.pm-medical-options button,.pm-operator-actions button,.pm-program-grid button,.pm-tournament-tools button):active:not(:disabled) { transform: translateY(1px) scale(.965); transition-duration: 70ms; }
:is(button,input,textarea):focus-visible { outline: 3px solid rgba(36,92,214,.3); outline-offset: 2px; }
.pm-sport-screen :is(button,input,textarea):focus-visible { outline-color: rgba(157,184,255,.62); }

@media (hover:hover) and (pointer:fine) {
  .pm-scroll button:hover:not(:disabled) { filter: saturate(1.035); }
  .pm-button:hover:not(:disabled) { transform: translateY(-3px); box-shadow: 0 17px 32px rgba(23,70,176,.29), inset 0 1px rgba(255,255,255,.24); filter: saturate(1.06); }
  .pm-button:hover::before { transform: translateX(130%); }
  .pm-button:hover svg:last-child { transform: translateX(3px); }
  .pm-icon-button:hover:not(:disabled) { color: var(--pm-blue); transform: translateY(-2px) rotate(-4deg); border-color: rgba(23,70,176,.16); box-shadow: 0 10px 22px rgba(7,19,39,.11); background: rgba(255,255,255,.94); }
  .pm-auth-button:hover:not(:disabled) { transform: translateY(-3px) scale(1.008); box-shadow: 0 15px 27px rgba(35,58,126,.22); filter: saturate(1.08) brightness(1.025); }
  .pm-sport-screen .pm-icon-button:hover:not(:disabled) { color: white; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.13); }
  :is(.pm-quick-card,.pm-list-row,.pm-format-grid button,.pm-payment-methods button,.pm-program-grid button,.pm-tournament-tools button):hover:not(:disabled) { transform: translateY(-3px); border-color: rgba(23,70,176,.15); box-shadow: 0 13px 25px rgba(7,19,39,.09); }
  :is(.pm-quick-card,.pm-list-row,.pm-format-grid button,.pm-program-grid button):hover svg { transform: translate3d(1px,-1px,0) scale(1.07); }
  :is(.pm-slot-grid button,.pm-date-row button):hover:not(:disabled):not(.is-active) { transform: translateY(-2px); border-color: rgba(23,70,176,.26); color: var(--pm-blue); box-shadow: 0 9px 18px rgba(7,19,39,.07); }
  :is(.pm-coach-feature,.pm-live-card,.pm-learning-hero):hover img { transform: scale(1.035); filter: saturate(1.05); }
  .pm-coach-feature img,.pm-live-card img,.pm-learning-hero img { transition: transform 620ms var(--pm-ease-emphasized), filter 420ms ease; }
  .pm-review-hero:hover .pm-review-hero__play { transform: translate(-50%,-50%) scale(1.08); background: rgba(255,255,255,.27); }
  .pm-tab:hover { color: var(--pm-blue); background: rgba(234,240,255,.55); transform: translateY(-2px); }
  .pm-tab:hover .pm-tab__icon { transform: translateY(-2px); }
}

.pm-tab__icon,.pm-icon-button svg,.pm-button svg,.pm-quick-card svg,.pm-list-row svg,.pm-review-hero__play { transition: transform var(--pm-normal) var(--pm-ease-emphasized), background var(--pm-fast) ease; }
[data-motion-intent="navigate"] .pm-tab.is-active .pm-tab__icon { animation: pm-selection-pop 360ms var(--pm-ease-emphasized) both; }
.pm-switch::after { transition: transform var(--pm-spring), box-shadow var(--pm-fast); }
.pm-switch.is-on::after { box-shadow: 0 2px 8px rgba(11,150,105,.32); }
.pm-upload__drop > i b,.pm-rank-line i b,.pm-partner-list button div i b { transition: width 440ms var(--pm-ease-emphasized); }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 1ms !important; animation-delay: 0ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; }
  [data-motion-slot], [data-motion-item] { opacity: 1 !important; transform: none !important; clip-path: none !important; filter: none !important; }
  .pm-phone.is-edge-swiping .pm-screen { transform: none !important; }
}
