/* Kitty Math Shop (School Launch Pre-Algebra side path). Page basics, then the game's own CSS. */
html,body{margin:0;padding:0;background:#FFF8F1}
#root{min-height:100vh}
.noscript{font:18px system-ui,sans-serif;padding:24px;color:#5A3B4C}
@keyframes ks-float { 0% { transform: translateY(0) scale(.6); opacity: 0 } 15% { opacity: 1 } 100% { transform: translateY(-260px) scale(1.1); opacity: 0 } }
@keyframes ks-pop { 0% { transform: scale(.3); opacity: 0 } 70% { transform: scale(1.15); opacity: 1 } 100% { transform: scale(1) } }
@keyframes ks-poof { 0% { transform: scale(1); opacity: 1 } 60% { transform: scale(1.5); opacity: .5 } 100% { transform: scale(.2); opacity: 0 } }
@keyframes ks-bob { 0%,100% { transform: translateY(0) } 50% { transform: translateY(-6px) } }
@keyframes ks-wiggle { 0%,100% { transform: rotate(0) } 25% { transform: rotate(-6deg) } 75% { transform: rotate(6deg) } }
@keyframes ks-breathe { 0%,100% { transform: scale(1) } 50% { transform: scale(1.22) } }
@keyframes ks-fade { from { opacity: 0; transform: translateY(6px) } to { opacity: 1; transform: none } }
.ks-btn { transition: transform .12s ease, box-shadow .12s ease; cursor: pointer; }
.ks-btn:active { transform: scale(.96); }
.ks-btn:disabled { opacity: .45; cursor: default; }
.ks-fade { animation: ks-fade .35s ease both; }
/* Respect "reduce motion": no floating, bobbing, popping or breathing animations. */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
