@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(59,130,246,.5)}50%{box-shadow:0 0 20px rgba(59,130,246,.8),0 0 30px rgba(59,130,246,.6)}}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in-left{animation:fadeInLeft .6s ease-out}.animate-fade-in-right{animation:fadeInRight .6s ease-out}.animate-scale-in{animation:scaleIn .4s ease-out}.animate-pulse-slow{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-400{animation-delay:.4s}.animate-delay-500{animation-delay:.5s}.transition-premium{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-bounce{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.transition-smooth{transition:all .5s cubic-bezier(.25,.46,.45,.94)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px rgba(59,130,246,.4)}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.gradient-primary{background:linear-gradient(135deg,#667eea,#764ba2)}.gradient-secondary{background:linear-gradient(135deg,#f093fb,#f5576c)}.gradient-success{background:linear-gradient(135deg,#4facfe,#00f2fe)}.gradient-warning{background:linear-gradient(135deg,#43e97b,#38f9d7)}.gradient-error{background:linear-gradient(135deg,#fa709a,#fee140)}.gradient-premium{background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb)}.text-gradient{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-premium{background:linear-gradient(135deg,#667eea,#764ba2 50%,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:rgba(255,255,255,.25)}.glass,.glass-dark{backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18)}.glass-dark{background:rgba(0,0,0,.25)}.neon-blue{box-shadow:0 0 5px #3b82f6,0 0 10px #3b82f6,0 0 15px #3b82f6}.neon-purple{box-shadow:0 0 5px #8b5cf6,0 0 10px #8b5cf6,0 0 15px #8b5cf6}.neon-green{box-shadow:0 0 5px #10b981,0 0 10px #10b981,0 0 15px #10b981}.particles{position:relative;overflow:hidden}.particles:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%,rgba(120,119,198,.3) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.3) 0,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,219,255,.3) 0,transparent 50%);animation:float 6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.animate-fade-in-left,.animate-fade-in-right,.animate-fade-in-up,.animate-float,.animate-glow,.animate-pulse-slow,.animate-scale-in,.animate-shimmer{animation:none}.hover-lift:hover,.hover-scale:hover{transform:none}}@media (max-width:768px){[role=button],a.btn,button{min-height:44px;min-width:44px;padding:12px 16px}input,select,textarea{min-height:48px;font-size:16px;padding:12px 16px}label{font-size:14px;font-weight:500;margin-bottom:8px}}@media (max-width:640px){h1{font-size:1.75rem!important;line-height:1.2}h2{font-size:1.5rem!important;line-height:1.3}h3{font-size:1.25rem!important;line-height:1.4}li,p,span{font-size:14px;line-height:1.6}.text-sm{font-size:12px}.text-xs{font-size:11px}}@media (max-width:768px){.container,.container-app{padding-left:16px;padding-right:16px}section{padding-top:2rem;padding-bottom:2rem}.card,[class*=Card]{padding:16px;margin-bottom:16px}.grid{gap:16px}.flex{gap:12px}.modal,[class*=Modal],[role=dialog]{margin:0!important;border-radius:0!important;max-width:100vw!important;max-height:100vh!important;min-height:100vh}.modal-content,[role=dialog]>div{max-height:calc(100vh - 60px);overflow-y:auto;-webkit-overflow-scrolling:touch}.session-card{display:flex;flex-direction:column;gap:12px}.game-image,.session-card img{width:100%;height:180px;-o-object-fit:cover;object-fit:cover;border-radius:12px}.session-actions{display:flex;flex-direction:column;gap:8px}.session-actions button{width:100%}.mobile-menu{position:fixed;top:64px;left:0;right:0;bottom:0;background:white;z-index:50;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-menu a{display:block;padding:16px 24px;font-size:16px;border-bottom:1px solid rgba(0,0,0,.05)}.mobile-menu a:active{background:rgba(139,92,246,.1)}form .grid{grid-template-columns:1fr!important}[role=combobox],select{min-height:48px;font-size:16px}input[type=date],input[type=datetime-local],input[type=time]{-webkit-appearance:none;min-height:48px;font-size:16px;padding:12px 16px}input[type=checkbox],input[type=radio]{width:24px;height:24px;cursor:pointer}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}table.mobile-stack thead{display:none}table.mobile-stack tr{display:block;margin-bottom:16px;border:1px solid #e5e7eb;border-radius:8px;padding:12px}table.mobile-stack td{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f3f4f6}table.mobile-stack td:before{content:attr(data-label);font-weight:600;margin-right:16px}img{max-width:100%;height:auto}.avatar,[class*=avatar]{width:48px;height:48px}.banner-image,.hero-image{height:200px;-o-object-fit:cover;object-fit:cover}}@media (max-width:768px){@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}img[loading=lazy]{opacity:0;transition:opacity .3s}img[loading=lazy].loaded{opacity:1}}@supports (padding:max(0px)){@media (max-width:768px){.safe-top{padding-top:max(16px,env(safe-area-inset-top))}.safe-bottom{padding-bottom:max(16px,env(safe-area-inset-bottom))}.safe-left{padding-left:max(16px,env(safe-area-inset-left))}.safe-right{padding-right:max(16px,env(safe-area-inset-right))}}}@media (max-width:768px){html{scroll-behavior:smooth}.carousel,.scroll-snap,html{-webkit-overflow-scrolling:touch}.carousel,.scroll-snap{scroll-snap-type:x mandatory}.carousel>*,.scroll-snap>*{scroll-snap-align:start}}@media (max-width:768px){:focus-visible{outline:3px solid rgba(139,92,246,.5);outline-offset:2px}::-moz-selection{background-color:rgba(139,92,246,.2);color:inherit}::selection{background-color:rgba(139,92,246,.2);color:inherit}a,button{-webkit-tap-highlight-color:rgba(139,92,246,.1)}}@media (max-width:640px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr!important}.sessions-grid{grid-template-columns:1fr;gap:16px}}@media (max-width:768px){.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid #e5e7eb;padding:8px 16px max(8px,env(safe-area-inset-bottom));z-index:40;display:flex;justify-content:space-around;box-shadow:0 -2px 10px rgba(0,0,0,.05)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 12px;color:#6b7280;font-size:12px;text-decoration:none;transition:color .2s}.bottom-nav a.active{color:#8b5cf6}.bottom-nav svg{width:24px;height:24px}body.has-bottom-nav{padding-bottom:72px}}@media (max-width:768px) and (orientation:landscape){.banner,.hero{height:30vh!important;max-height:200px}[role=dialog]{max-height:90vh}}@media (max-width:768px){.tooltip,[role=tooltip]{font-size:14px;padding:8px 12px;max-width:calc(100vw - 32px)}[role=dialog].popover{position:fixed;inset:0;margin:0;border-radius:0;max-width:100vw;max-height:100vh}.loading,.spinner{width:48px;height:48px}.skeleton{animation:pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%}.badge,.tag{font-size:12px;padding:4px 8px;white-space:nowrap}.status-badge{padding:6px 12px;font-size:13px;font-weight:600}*{word-wrap:break-word;overflow-wrap:break-word}input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],select,textarea{font-size:16px!important}.modal-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.no-overscroll{overscroll-behavior-y:contain}}