:root{--app-height: 100dvh;--primary: #94D500}@supports not (height: 100dvh){:root{--app-height: 100vh}}html,body,#root{height:var(--app-height);width:100%;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}.app-shell{height:var(--app-height);width:100%;position:relative;overflow:hidden}body,.font-black,b,strong{font-family:Barlow,system-ui,sans-serif}.glass-panel{background:#050505f7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1)}.glass-card{background:linear-gradient(135deg,#1e1e1e,#141414f7);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.05);box-shadow:0 8px 32px #00000080}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.custom-scrollbar::-webkit-scrollbar{width:3px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#a8e00080;border-radius:10px}@media(min-width:1024px){.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent;margin-block:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#a8e00040;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#a8e00080;box-shadow:0 0 8px #a8e00033}}.fp-scroll-v{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior-y:contain;touch-action:pan-y pinch-zoom;contain:paint layout}.fp-scroll-h{-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;contain:paint layout}.fp-snap-item{scroll-snap-stop:always;transform:translateZ(0);will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}@media(max-width:1023px){.detail-panel-programme{bottom:0!important;height:auto!important;animation:none!important;will-change:auto!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideRight{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fpFadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes fpBarFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes glowPulse{0%,to{box-shadow:0 4px 14px #a8e00033}50%{box-shadow:0 4px 24px #a8e00066}}@keyframes popupIn{0%{transform:translateY(28px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes bottomSheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideFromLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes pump{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes wave{0%,to{opacity:.5;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}@keyframes pulseNeon{0%,to{opacity:1;box-shadow:0 0 10px #a8e000}50%{opacity:.8;box-shadow:0 0 20px #a8e000}}@keyframes rt-enter{0%{opacity:0;transform:translate(-28px) scale(.92);filter:blur(4px)}to{opacity:1;transform:translate(0) scale(1);filter:blur(0)}}@keyframes rt-exit{0%{opacity:1;transform:translate(0) scale(1);filter:blur(0)}to{opacity:0;transform:translate(-20px) scale(.95);filter:blur(3px)}}@keyframes rt-panel-open{0%{opacity:0;transform:translateY(-6px) scaleY(.92)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes rt-shimmer{0%{transform:translate(-100%) skew(-12deg)}to{transform:translate(220%) skew(-12deg)}}@keyframes shop-glow-pulse{0%,to{box-shadow:0 4px 20px #a8e00073,0 0 #a8e00026}50%{box-shadow:0 8px 36px #a8e000b3,0 0 0 8px #a8e00000}}.animate-fadeIn{animation:fadeIn .4s ease-out forwards}.animate-slideUp{animation:slideUp .45s cubic-bezier(.16,1,.3,1) forwards}.animate-slideDown{animation:slideDown .4s cubic-bezier(.16,1,.3,1) forwards}.animate-scaleIn{animation:scaleIn .25s ease-out forwards}.animate-glowPulse{animation:glowPulse 2.5s ease-in-out infinite}.animate-slideRight{animation:slideRight .4s cubic-bezier(.16,1,.3,1) forwards}.animate-fpFadeUp{animation:fpFadeUp .4s ease-out both}.animate-fpBar{animation:fpBarFill 2s cubic-bezier(.4,0,.1,1) .45s both}.animate-pump{animation:pump .8s cubic-bezier(.4,0,.6,1) infinite}.animate-popupIn{animation:popupIn .55s cubic-bezier(.16,1,.3,1) forwards}.animate-shop-pulse{animation:shop-glow-pulse 2.8s ease-in-out infinite}.animate-rt-enter{animation:rt-enter .55s cubic-bezier(.34,1.56,.64,1) forwards}.animate-rt-exit{animation:rt-exit .35s cubic-bezier(.55,0,1,.45) forwards}.animate-rt-panel{animation:rt-panel-open .28s cubic-bezier(.16,1,.3,1) forwards;transform-origin:top center}.detail-panel{animation:bottomSheetIn .45s cubic-bezier(.16,1,.3,1) forwards;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}@media(min-width:1024px){.detail-panel{animation:slideFromLeft .4s cubic-bezier(.16,1,.3,1) forwards}.detail-panel-right{animation:slideFromRight .4s cubic-bezier(.16,1,.3,1) forwards}}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@keyframes tabContentIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-tab-content{animation:tabContentIn .28s cubic-bezier(.16,1,.3,1) forwards}@keyframes tabIconPop{0%{transform:scale(1)}40%{transform:scale(.78)}70%{transform:scale(1.18)}to{transform:scale(1)}}.tab-btn-pop:active .tab-icon{animation:tabIconPop .3s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes dotPulse{0%,to{opacity:1;box-shadow:0 0 #a8e00080}50%{opacity:.8;box-shadow:0 0 0 4px #a8e00000}}.dot-pulse{animation:dotPulse 2s ease-in-out infinite}.tab-indicator{transition:left .3s cubic-bezier(.34,1.56,.64,1),width .3s cubic-bezier(.34,1.56,.64,1)}@keyframes ripple{0%{transform:scale(0);opacity:.4}to{transform:scale(2.5);opacity:0}}.ripple-container{position:relative;overflow:hidden}.ripple-container:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#a8e00026;transform:scale(0);opacity:0}.ripple-container:active:after{animation:ripple .4s ease-out forwards}.font-display{font-family:Barlow Condensed,sans-serif}.font-black{font-weight:900}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
