/* Compositor-only motion; no layout changes or continuous animations. */
:root{--interaction-cyan:#1acbe6;--interaction-glow:rgba(26,203,230,.18)}
body.light{--interaction-cyan:#13798b;--interaction-glow:rgba(19,121,139,.14)}
:where(button,[role=button],a.btn,a.admin-link,.admin-nav a,.alg-install-primary,[data-slot=button]):not(:disabled):not([aria-disabled=true]):not([data-disabled]):not(.story-segment):not([role=checkbox]):not([role=switch]):not([role=radio]):not([role=tab]):not([data-slot=checkbox]){transition:scale 180ms ease,opacity 180ms ease}
:where(.panel[onclick],.material-card[onclick],.trail-card[onclick],.game-card[onclick],.dash-mission){transition:transform 180ms ease,opacity 180ms ease}
:where(.side-item,.admin-nav a,.bottom-item,.menu-row,.top-mini,.stories-icon,.mission-study-icon) svg{transition:scale 180ms ease,opacity 180ms ease}
@media(hover:hover) and (pointer:fine){
 :where(button,[role=button],a.btn,a.admin-link,.admin-nav a,.alg-install-primary,[data-slot=button]):not(:disabled):not([aria-disabled=true]):not([data-disabled]):not(.story-segment):not([role=checkbox]):not([role=switch]):not([role=radio]):not([role=tab]):not([data-slot=checkbox]):hover{scale:1.02;box-shadow:0 0 10px var(--interaction-glow)}
 :where(.btn:not(.secondary),.widget-study,.auth-submit,[data-slot=button][data-variant=default]):not(:disabled):not([aria-disabled=true]):hover{box-shadow:0 0 12px var(--interaction-glow),inset 0 0 0 1px rgba(170,247,255,.35)}
 :where(.side-item,.menu-row,.admin-nav a,.bottom-item):not(:disabled):not([aria-disabled=true]):hover{box-shadow:inset 0 0 0 1px var(--interaction-cyan),0 0 8px var(--interaction-glow)}
 :where(.side-item,.menu-row,.admin-nav a,.bottom-item,.top-mini,.stories-icon,.mission-study-icon):not(:disabled):not([aria-disabled=true]):hover svg{scale:1.04;color:var(--interaction-cyan)}
 :where(.panel[onclick],.material-card[onclick],.trail-card[onclick],.game-card[onclick],.dash-mission):not([aria-disabled=true]):not(.locked):hover{transform:translateY(-2px);border-color:var(--interaction-cyan);box-shadow:0 3px 12px var(--interaction-glow)}
}
:where(button,[role=button],a.btn,a.admin-link,.admin-nav a,.alg-install-primary,[data-slot=button]):not(:disabled):not([aria-disabled=true]):not([data-disabled]):not(.story-segment):not([role=checkbox]):not([role=switch]):not([role=radio]):not([role=tab]):not([data-slot=checkbox]):active{scale:.98;opacity:.9}
:where(button,a,[role=button]):focus-visible{outline:2px solid var(--interaction-cyan);outline-offset:3px}
/* Selected navigation keeps its existing palette and geometry. */
:where(.side-item.active,.bottom-item.active,.admin-nav a.active){box-shadow:inset 0 0 0 1px var(--interaction-glow)}
.motion-confirm{animation:alg-confirm 420ms ease-out both}
.toast{animation:alg-toast-in 180ms ease-out}
.alg-reward-float{position:fixed;right:18px;bottom:calc(104px + env(safe-area-inset-bottom,0px));z-index:125;pointer-events:none;padding:9px 13px;border:1px solid var(--interaction-cyan);border-radius:12px;background:#0b1c30;color:#a1f4ff;font:700 14px/1.4 Arial,Helvetica,sans-serif;box-shadow:0 2px 10px #0002;animation:alg-reward 850ms ease-out both}
body.light .alg-reward-float{background:#fff;color:#13798b}
@keyframes alg-confirm{0%{transform:scale(.985);opacity:.8}55%{transform:scale(1.01);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes alg-toast-in{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@keyframes alg-reward{0%{transform:translateY(5px);opacity:0}20%,65%{opacity:1}100%{transform:translateY(-12px);opacity:0}}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;transition-duration:0ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
 :where(button,[role=button],a.btn,a.admin-link,.admin-nav a,.alg-install-primary,[data-slot=button],.panel[onclick],.material-card[onclick],.trail-card[onclick],.game-card[onclick],.dash-mission,.side-item svg,.menu-row svg,.admin-nav a svg,.bottom-item svg,.top-mini svg,.stories-icon svg,.mission-study-icon svg){transition:none!important;scale:1!important}
 :where(.panel[onclick],.material-card[onclick],.trail-card[onclick],.game-card[onclick],.dash-mission):hover{transform:none!important}
 .motion-confirm,.toast,.alg-reward-float{animation:none!important}
}
