*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}html,body,#root{width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;font-family:-apple-system,SF Pro Display,Helvetica Neue,Segoe UI,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;cursor:pointer;border:none;background:transparent;padding:0;outline:none;transition:transform .15s cubic-bezier(.25,.46,.45,.94),box-shadow .15s ease,filter .15s ease}button:active{transform:scale(.95) translateY(1px)!important}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes popIn{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.08)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes glow{0%,to{box-shadow:0 0 5px #007aff33}50%{box-shadow:0 0 20px #007aff66}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes correctPlace{0%{transform:scale(.8);opacity:.5}40%{transform:scale(1.25)}70%{transform:scale(.95)}to{transform:scale(1);opacity:1}}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes starReveal{0%{transform:scale(0) rotate(-45deg);opacity:0}60%{transform:scale(1.3) rotate(10deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes confettiFall{0%{transform:translateY(-100%) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes numberPop{0%{transform:scale(1)}30%{transform:scale(1.3)}to{transform:scale(1)}}.fade-in{animation:fadeIn .3s ease forwards}.fade-in-up{animation:fadeInUp .4s ease forwards}.fade-in-scale{animation:fadeInScale .35s ease forwards}.pop-in{animation:popIn .4s cubic-bezier(.34,1.56,.64,1) forwards}.bounce-in{animation:bounceIn .5s cubic-bezier(.34,1.56,.64,1) forwards}.slide-up{animation:slideUp .4s ease forwards}.slide-right{animation:slideInRight .3s ease forwards}.pulse{animation:pulse .4s ease}.glow{animation:glow 2s ease infinite}.float{animation:float 3s ease infinite}.correct-anim{animation:correctPlace .4s cubic-bezier(.34,1.56,.64,1)}.error-anim{animation:errorShake .4s ease}.star-reveal{animation:starReveal .5s cubic-bezier(.34,1.56,.64,1) forwards}.number-pop{animation:numberPop .3s cubic-bezier(.34,1.56,.64,1)}.shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.gradient-animate{background-size:200% 200%;animation:gradientShift 4s ease infinite}.board-3d{transform:perspective(1000px) rotateX(2deg);transform-origin:center bottom;transition:transform .4s ease;box-shadow:0 10px 30px #0000001f,0 4px 10px #0000000f}.dark .board-3d{box-shadow:0 10px 30px #00000080,0 4px 10px #0000004d}.num-btn-3d{box-shadow:0 3px #0000001a,0 5px 10px #0000000d;transition:all .12s ease;transform:translateY(0)}.num-btn-3d:active{transform:translateY(2px) scale(.97)!important;box-shadow:0 1px #0000001a,0 2px 5px #0000000d}.dark .num-btn-3d{box-shadow:0 3px #0000004d,0 5px 10px #0003}.action-btn-3d{box-shadow:0 2px #00000014,0 4px 8px #0000000a;transition:all .15s ease}.action-btn-3d:active{transform:translateY(1px) scale(.96)!important;box-shadow:0 1px #00000014}.banner-3d{box-shadow:0 8px 25px #007aff40,0 3px 10px #00000014;transform:perspective(600px) rotateX(1deg);transition:transform .3s ease,box-shadow .3s ease}.banner-3d:active{transform:perspective(600px) rotateX(2deg) translateY(1px)!important}.card-3d{box-shadow:0 2px 8px #0000000a;transition:all .25s cubic-bezier(.25,.46,.45,.94)}.stat-card{box-shadow:0 2px 10px #0000000d;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.stat-card:hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000001a}.diff-card{box-shadow:0 2px 8px #0000000a;transition:all .25s ease}.diff-card:active{transform:translate(2px) scale(.99)!important}.puzzle-btn{box-shadow:0 2px 4px #0000000f;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.puzzle-btn:active{transform:translateY(0) scale(.95)!important}.glass{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.stats-glass{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 12px #0000000f,inset 0 1px #ffffff1a}.confetti-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000;overflow:hidden}.confetti-piece{position:absolute;top:-10px;width:10px;height:10px;border-radius:2px;animation:confettiFall linear forwards}::-webkit-scrollbar{width:0;height:0}
