html,body,#root{margin:0;height:100%;background:#0b1020}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#f4f6ff;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}*{box-sizing:border-box;scrollbar-width:none}*::-webkit-scrollbar{display:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.press:active{transform:scale(.97)}.key:active{background:#ffd23f4d!important}.link{padding:8px 4px;font-size:14px;font-weight:600;color:#9aa6d0;cursor:pointer}@keyframes grSpin{to{transform:rotate(360deg)}}@keyframes grFloat{0%{transform:translateY(0) rotate(0);opacity:0}15%{opacity:1}to{transform:translateY(-560px) rotate(220deg);opacity:0}}@keyframes grPulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes grHover{0%,to{transform:translateY(0) rotate(-3deg) rotateY(-8deg)}50%{transform:translateY(-16px) rotate(2deg) rotateY(8deg)}}@keyframes grHover2{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}@keyframes grRing{0%{transform:scale(.7);opacity:0}15%{opacity:1}to{transform:scale(1.9);opacity:0}}@keyframes grBurst{0%{transform:translate(0) scale(1) rotate(0);opacity:0}10%{opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(.3) rotate(260deg);opacity:0}}@keyframes grFlash{0%{opacity:0}20%{opacity:.9}to{opacity:0}}@keyframes grHalo{0%,to{opacity:.45;transform:scale(1)}50%{opacity:.9;transform:scale(1.04)}}@keyframes grCardBob{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}@keyframes grLasche{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(120px,-260px) rotate(38deg);opacity:0}}@keyframes grShadow{0%,to{transform:scaleX(1);opacity:.55}50%{transform:scaleX(.78);opacity:.3}}@keyframes grShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes grToast{0%{opacity:0;transform:translate(-50%,10px)}12%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
