@media (hover:none) and (pointer:coarse){.touch-target,[role=button],button,input[type=button],input[type=submit]{min-height:20px;min-width:20px}}.scroll-smooth{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@media screen and (max-width:768px){body{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}.focus-visible:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}.custom-scrollbar::-webkit-scrollbar{width:6px}.custom-scrollbar::-webkit-scrollbar-track{background:hsl(var(--muted));border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb{background:hsl(var(--border));border-radius:3px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground))}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}@media screen and (max-width:768px){input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important}}@media (hover:hover) and (pointer:fine){.card-hover:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}}@media (prefers-reduced-motion:no-preference){.animate-fade-in-up{animation:fadeInUp .6s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast:high){.glass-effect{background:rgba(255,255,255,.95)!important;border:2px solid hsl(var(--border))!important}}@media (prefers-color-scheme:dark){.mobile-nav-overlay{background:rgba(0,0,0,.8)}}.text-responsive{font-size:clamp(.875rem,2.5vw,1rem)}.text-responsive-lg{font-size:clamp(1.125rem,3vw,1.25rem)}.text-responsive-xl{font-size:clamp(1.5rem,4vw,2rem)}.space-mobile{gap:clamp(.5rem,2vw,1rem)}.p-mobile{padding:clamp(1rem,3vw,1.5rem)}.grid-responsive{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(1rem,3vw,2rem)}.mobile-only{display:block}.desktop-only,.tablet-only{display:none}@media (min-width:768px){.mobile-only{display:none}.tablet-only{display:block}}@media (min-width:1024px){.tablet-only{display:none}.desktop-only{display:block}}.tap-target{position:relative}.tap-target:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;min-width:44px;min-height:44px}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:768px){.table-responsive table{min-width:600px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradient{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(59,130,246,.5)}50%{box-shadow:0 0 40px rgba(147,51,234,.7)}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-fade-in-up{animation:fadeInUp .8s ease-out}.animate-gradient{animation:gradient 8s ease infinite}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.bg-grid-slate-900\/\[0\.04\]{background-image:linear-gradient(90deg,rgb(15 23 42/.04) 1px,transparent 0),linear-gradient(180deg,rgb(15 23 42/.04) 1px,transparent 0)}@media (max-width:640px){.text-responsive{font-size:clamp(.875rem,2.5vw,1rem)}.heading-responsive{font-size:clamp(2rem,8vw,3rem)}.subheading-responsive{font-size:clamp(1rem,4vw,1.25rem)}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}:focus-visible{outline:2px solid rgb(59 130 246);outline-offset:2px;border-radius:.375rem}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1)}.card-shine{position:relative;overflow:hidden}.card-shine:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .7s}.card-shine:hover:after{left:100%}@keyframes skeleton{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#f3f4f6,#e5e7eb 50%,#f3f4f6);background-size:200% 100%;animation:skeleton 1.5s ease-in-out infinite}@media (max-width:768px){a,button{min-height:44px;min-width:44px}}.text-high-contrast{color:rgb(15 23 42);font-weight:500}.text-medium-contrast{color:rgb(71 85 105)}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.backdrop-blur-enhanced{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}@media not all and (min-resolution:.001dpcm){@supports (-webkit-appearance:none){.bg-gradient-to-r{background-attachment:fixed}}}@media (max-width:768px){[role=button],a,button{min-height:44px;min-width:44px}.quest-card{padding:1rem;margin-bottom:1rem}.filter-controls{flex-direction:column;gap:.5rem}.filter-controls>*{width:100%}.mobile-hide{display:none}input[type=email],input[type=search],input[type=text],textarea{font-size:16px;padding:.75rem}[role=dialog]{max-width:95vw;max-height:90vh;overflow-y:auto}.space-y-6{gap:1rem}.grid-cols-3{grid-template-columns:1fr}}@media (max-width:896px) and (orientation:landscape){.quest-detail-header{flex-direction:row;justify-content:space-between}.spark-navigation{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid #e5e7eb;padding:.5rem;z-index:10}}@media (max-width:768px){body{-webkit-overflow-scrolling:touch}body.modal-open{overflow:hidden;position:fixed;width:100%}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.text-sm{font-size:.875rem}}.swipe-indicator{position:relative}.swipe-indicator:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:40px;height:4px;background:linear-gradient(90deg,transparent,#9ca3af,transparent);border-radius:2px;opacity:.5}@media (max-width:768px){[role=button]:active,button:active{transform:scale(.98);transition:transform .1s}.card:active{transform:scale(.99);transition:transform .1s}}