/* DRS motion layer. Content remains fully visible without visual-effects.js. */
:root{--drs-fx-ease:cubic-bezier(.2,.78,.24,1);--drs-fx-red:195,24,37}

/* Sections reveal once. Data tables and SVG plots never get individual motion. */
.drs-effects-ready .drs-reveal-pending{opacity:0;transform:translate3d(0,22px,0)}
.drs-effects-ready .drs-reveal-enter{animation:drs-surface-reveal .68s var(--drs-fx-ease) both}
@keyframes drs-surface-reveal{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
.drs-tab-enter{animation:drs-panel-reveal .28s ease-out both}
@keyframes drs-panel-reveal{from{opacity:.48}to{opacity:1}}

/* A light layer is inserted only on the explicit card whitelist. */
.drs-glow-card{position:relative;isolation:isolate;transition:transform .32s var(--drs-fx-ease),box-shadow .32s var(--drs-fx-ease),border-color .25s ease}
.drs-card-light{position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(300px circle at var(--drs-light-x,50%) var(--drs-light-y,50%),rgba(var(--drs-fx-red),.15),transparent 70%);box-shadow:inset 0 0 0 1px rgba(var(--drs-fx-red),.2);transition:opacity .32s ease}
.drs-glow-card:is(.season-board,.leader-next,.podium-card,.power-card)>.drs-card-light{background:radial-gradient(350px circle at var(--drs-light-x,50%) var(--drs-light-y,50%),rgba(255,75,91,.17),transparent 70%)}
.drs-glow-card:focus-within>.drs-card-light{opacity:.75}

/* Button glints occur on a deliberate hover/focus; there is no idle loop. */
.drs-fx-button{position:relative;isolation:isolate;overflow:hidden;transition:transform .22s var(--drs-fx-ease),box-shadow .22s ease,background-color .22s ease,border-color .22s ease}
.drs-button-glint{position:absolute;inset:-15% auto -15% -65%;width:38%;pointer-events:none;z-index:-1;background:linear-gradient(105deg,transparent,rgba(255,255,255,.36),transparent);transform:skewX(-18deg);opacity:0}
.drs-fx-button.secondary>.drs-button-glint,.history-pagination .drs-fx-button>.drs-button-glint,.pace-selection-actions .drs-fx-button>.drs-button-glint{background:linear-gradient(105deg,transparent,rgba(var(--drs-fx-red),.09),transparent)}
.drs-fx-button:focus-visible>.drs-button-glint{animation:drs-button-glint .62s var(--drs-fx-ease) both}
@keyframes drs-button-glint{0%{left:-65%;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:135%;opacity:0}}

/* Short transitions keep dialog opening responsive. */
.hub-dialog[open]{animation:drs-dialog-reveal .24s var(--drs-fx-ease) both}
.hub-dialog::backdrop{animation:drs-backdrop-reveal .2s ease both}
@keyframes drs-dialog-reveal{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
@keyframes drs-backdrop-reveal{from{opacity:0}to{opacity:1}}
.history-tabs button,.data-tabs button,.segmented button{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.history-tabs button[aria-pressed=true],.data-tabs button[aria-pressed=true]{text-shadow:0 0 18px rgba(var(--drs-fx-red),.07)}
.hub-table tr{transition:background-color .16s ease}

@media(hover:hover) and (pointer:fine){
 .drs-glow-card.drs-pointer-active{transform:perspective(1100px) translate3d(0,-4px,0) rotateX(var(--drs-tilt-x,0deg)) rotateY(var(--drs-tilt-y,0deg));box-shadow:0 18px 32px -16px rgba(18,18,29,.38),0 3px 8px rgba(18,18,29,.045)}
 .drs-glow-card.drs-pointer-active>.drs-card-light{opacity:1}
 .drs-glow-card.drs-pointer-active :is(.history-record h2,.history-record span,.name-text){text-underline-offset:4px}
 .drs-fx-button:hover{transform:translateY(-2px);box-shadow:0 8px 18px -10px rgba(var(--drs-fx-red),.7)}
 .drs-fx-button:hover>.drs-button-glint{animation:drs-button-glint .62s var(--drs-fx-ease) both}
 .drs-fx-button:active{transform:translateY(0);transition-duration:.08s}
}

/* Preference changes are honored immediately, even after page initialization. */
@media(prefers-reduced-motion:reduce){
 .drs-effects-ready .drs-reveal-pending{opacity:1!important;transform:none!important}
 .drs-reveal-enter,.drs-tab-enter,.hub-dialog[open],.hub-dialog::backdrop,.drs-button-glint{animation:none!important}
 .drs-glow-card,.drs-glow-card.drs-pointer-active,.drs-fx-button,.drs-fx-button:hover,.drs-fx-button:active{transform:none!important;transition:none!important}
 .drs-card-light,.history-tabs button,.data-tabs button,.segmented button,.hub-table tr{transition:none!important}
}

@media print{
 .drs-effects-ready .drs-reveal-pending,.drs-reveal-enter,.drs-tab-enter{opacity:1!important;transform:none!important;animation:none!important}
 .drs-card-light,.drs-button-glint{display:none!important}
 .drs-glow-card,.drs-fx-button{transform:none!important;transition:none!important;box-shadow:none!important}
}
