@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@keyframes medieval-glow{0%,to{box-shadow:0 0 5px rgba(245,158,11,.3)}50%{box-shadow:0 0 20px rgba(245,158,11,.6),0 0 30px rgba(245,158,11,.4)}}@keyframes medieval-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes medieval-bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes medieval-slide-in{0%{transform:translateY(-100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes medieval-slide-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(100px);opacity:0}}@keyframes medieval-fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes medieval-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes medieval-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes medieval-wiggle{0%,7%{transform:rotate(0)}15%{transform:rotate(-15deg)}20%{transform:rotate(10deg)}25%{transform:rotate(-10deg)}30%{transform:rotate(6deg)}35%{transform:rotate(-4deg)}40%,to{transform:rotate(0)}}@keyframes medieval-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes medieval-shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@keyframes medieval-glow-pulse{0%,to{filter:brightness(1) drop-shadow(0 0 5px rgba(245,158,11,.3))}50%{filter:brightness(1.2) drop-shadow(0 0 15px rgba(245,158,11,.6))}}@keyframes medieval-scale-in{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}@keyframes medieval-scale-out{0%{transform:scale(1);opacity:1}to{transform:scale(0);opacity:0}}.animate-shimmer{animation:shimmer 2s infinite}.animate-medieval-glow{animation:medieval-glow 2s ease-in-out infinite}.animate-medieval-pulse{animation:medieval-pulse 2s ease-in-out infinite}.animate-medieval-bounce{animation:medieval-bounce 1s ease-in-out infinite}.animate-medieval-slide-in{animation:medieval-slide-in .5s ease-out}.animate-medieval-slide-out{animation:medieval-slide-out .5s ease-in}.animate-medieval-fade-in{animation:medieval-fade-in .3s ease-out}.animate-medieval-fade-out{animation:medieval-fade-out .3s ease-in}.animate-medieval-rotate{animation:medieval-rotate 1s linear infinite}.animate-medieval-wiggle{animation:medieval-wiggle 1s ease-in-out}.animate-medieval-float{animation:medieval-float 3s ease-in-out infinite}.animate-medieval-shake{animation:medieval-shake .5s ease-in-out}.animate-medieval-glow-pulse{animation:medieval-glow-pulse 2s ease-in-out infinite}.animate-medieval-scale-in{animation:medieval-scale-in .4s ease-out}.animate-medieval-scale-out{animation:medieval-scale-out .4s ease-in}.hover-medieval-glow:hover{animation:medieval-glow 1s ease-in-out infinite}.hover-medieval-pulse:hover{animation:medieval-pulse 1s ease-in-out infinite}.hover-medieval-float:hover{animation:medieval-float 2s ease-in-out infinite}.focus-medieval-glow:focus{animation:medieval-glow 1s ease-in-out infinite;outline:none}.quest-complete-celebration{animation:medieval-scale-in .5s ease-out,medieval-glow-pulse 2s ease-in-out infinite}.level-up-celebration{animation:medieval-bounce .6s ease-in-out,medieval-glow 1s ease-in-out infinite}.gold-earned-celebration{animation:medieval-wiggle .8s ease-in-out,medieval-glow-pulse 1.5s ease-in-out infinite}.medieval-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.medieval-transition-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}.medieval-transition-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.medieval-hover-lift{transition:transform .3s ease}.medieval-hover-lift:hover{transform:translateY(-4px) scale(1.02)}.medieval-hover-tilt{transition:transform .3s ease}.medieval-hover-tilt:hover{transform:rotate(2deg) scale(1.05)}.medieval-hover-glow{transition:box-shadow .3s ease}.medieval-hover-glow:hover{box-shadow:0 0 20px rgba(245,158,11,.4)}@media (max-width:768px){.animate-medieval-bounce{animation-duration:.8s}.animate-medieval-float{animation-duration:2s}.medieval-hover-lift:hover{transform:translateY(-2px) scale(1.01)}}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.app\/quests\/page\.tsx .grid,.app\/quests\/page\.tsx div[style*="repeat(3"],.app\/quests\/page\.tsx div[style*=gridTemplateColumns]{grid-template-columns:repeat(3,minmax(0,1fr))!important;display:grid!important}.dropdown-menu-scrollable{-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important}.dropdown-menu-scrollable,[data-radix-popper-content-wrapper]{max-height:80vh!important;overflow-y:auto!important}@media (max-width:768px){body,html{height:100%;width:100%;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.main-content,[role=main],main{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);min-height:100vh;min-height:100dvh}.card{margin:.5rem;border-radius:8px}.btn-primary,.nav-item{min-height:44px;padding:12px 16px}.scroll-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}input,select,textarea{font-size:16px}.card-content{padding:1rem}.grid-container{grid-template-columns:1fr;gap:.75rem}.button-group{flex-direction:column;gap:.5rem}.button-group>*{width:100%}.mobile-scroll-hide{-ms-overflow-style:none;scrollbar-width:none}.mobile-scroll-hide::-webkit-scrollbar{display:none}.mobile-text-fit{font-size:14px;line-height:1.4;word-break:break-word}.badge-mobile{font-size:11px;padding:4px 8px;min-height:20px}.tooltip-mobile{max-width:200px;font-size:12px;padding:8px 12px}.modal-mobile{margin:16px;max-height:calc(100vh - 32px);overflow-y:auto}.touch-target{min-height:44px;min-width:44px;touch-action:manipulation}.text-truncate-mobile{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.mobile-spacing{gap:12px;padding:16px}.icon-mobile{width:20px;height:20px}.icon-mobile-sm{width:16px;height:16px}}@keyframes float-up{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-40px) scale(1.1)}}.animate-float-up{animation:float-up 1.5s ease-out forwards}.medieval-night body:before{content:"";position:fixed;inset:0;background:linear-gradient(180deg,rgba(15,23,42,.6),rgba(88,28,135,.4));pointer-events:none;z-index:9999;mix-blend-mode:multiply;transition:opacity 2s ease-in-out}.medieval-night body{background-color:#0f172a!important}.medieval-night h1,.medieval-night h2,.medieval-night h3{text-shadow:0 0 10px rgba(147,197,253,.3)}.medieval-night .torch-light{box-shadow:0 0 20px 5px rgba(251,146,60,.6)}.confetti-particle{position:fixed;pointer-events:none;z-index:9999;border-radius:2px;box-shadow:0 0 4px rgba(251,191,36,.5)}