/* Event-driven feedback. No continuous animations or scroll listeners. */
:root{--feedback-duration:180ms;--feedback-ease:cubic-bezier(.22,.61,.36,1)}
@keyframes cta-feedback{0%{outline-color:transparent}45%{outline-color:rgba(128,40,62,.5)}100%{outline-color:rgba(128,40,62,.18)}}
main.shell :is(.button,.outline,.rules-text-link){outline:2px solid transparent;outline-offset:3px}
@media(hover:hover) and (pointer:fine){
 main.shell :is(.button,.outline,.rules-text-link):hover{animation:cta-feedback 420ms var(--feedback-ease) both}
 main.shell :is(.compact-summary,.map-tab,.period-option):hover{box-shadow:inset 0 0 0 1px rgba(128,40,62,.25)}
 main.shell :is(.hero-news-card,.fixture-link,.mvp-archive-card,.career-map):hover{outline:1px solid rgba(128,40,62,.25);outline-offset:-1px}
}
@media(pointer:coarse),(max-width:768px){
 main.shell :is(a,button,[data-match-url],[data-stats-url]){touch-action:manipulation;-webkit-tap-highlight-color:rgba(128,40,62,.12)}
 main.shell :is(.button,.outline,.rules-text-link):active{animation:cta-feedback 420ms var(--feedback-ease) both}
 main.shell :is(.compact-summary,.compact-tabs button,.map-tab,.period-toggle,.period-option):active{box-shadow:inset 0 0 0 2px rgba(128,40,62,.3)}
 main.shell :is(.hero-news-card,.fixture-link,.mvp-archive-card,.career-map,.stats-preview,.home-match-clickable):active{outline:2px solid rgba(128,40,62,.3);outline-offset:-2px}
 main.shell :is(.player-name-link,.compact-profile-link,.avatar-profile-link):active{background:rgba(128,40,62,.09);border-radius:4px}
}
main.shell :is(.button,.outline,.rules-text-link,.compact-summary,.map-tab,.period-toggle):focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
 main.shell :is(.button,.outline,.rules-text-link):hover,main.shell :is(.button,.outline,.rules-text-link):active{animation:none;outline-color:rgba(128,40,62,.4)}
}
