.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-4{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.reveal{opacity:0;animation:slideUpFade .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUpFade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-pulse-slow{animation:pulse-slow 3s ease-in-out infinite alternate}@keyframes pulse-slow{0%{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.feature-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000080}.filter-bar{mask-image:linear-gradient(to right,black 95%,transparent);-webkit-mask-image:linear-gradient(to right,black 95%,transparent)}.filter-btn:not(.active):hover{border-color:var(--btn-color)!important;color:#fff!important;text-shadow:0 0 8px var(--btn-color)!important}@keyframes floatUp{0%{transform:translateY(100%);opacity:0}50%{opacity:1}to{transform:translateY(-200%);opacity:0}}@keyframes flicker{0%,19.999%,22%,62.999%,64%,64.999%,70%,to{opacity:1;transform:scale(1)}20%,21.999%,63%,63.999%,65%,69.999%{opacity:.4;transform:scale(.96)}}.animate-flicker{animation:flicker 4s linear infinite}.border-fx-border-laser{position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:linear-gradient(90deg,transparent 0%,var(--fx-color) 50%,transparent 100%);background-size:200% 100%;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:50;animation:laser-border 2s linear infinite;opacity:.8}@keyframes laser-border{0%{background-position:200% 0}to{background-position:-200% 0}}.border-fx-border-pulse{position:absolute;inset:0;border-radius:inherit;border:2px solid var(--fx-color);pointer-events:none;z-index:50;animation:pulse-border 3s ease-in-out infinite alternate;box-shadow:inset 0 0 10px var(--fx-color),0 0 15px var(--fx-color)}@keyframes pulse-border{0%{opacity:.2}to{opacity:1}}.border-fx-border-dash{position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:50;background-image:linear-gradient(90deg,var(--fx-color) 50%,transparent 50%),linear-gradient(90deg,var(--fx-color) 50%,transparent 50%),linear-gradient(0deg,var(--fx-color) 50%,transparent 50%),linear-gradient(0deg,var(--fx-color) 50%,transparent 50%);background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;background-size:15px 2px,15px 2px,2px 15px,2px 15px;background-position:0 0,100% 100%,0 100%,100% 0px;animation:dash-border 20s linear infinite;opacity:.7;box-shadow:inset 0 0 10px #00000080,0 0 10px var(--fx-color)}@keyframes dash-border{0%{background-position:0 0,100% 100%,0 100%,100% 0}to{background-position:100% 0,0 100%,0 0,100% 100%}}.border-fx-neon-heavy-flow{position:absolute;inset:-3px;border-radius:inherit;padding:3px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:50;filter:drop-shadow(0 0 10px var(--fx-color)) drop-shadow(0 0 20px var(--fx-color))}.border-fx-neon-heavy-flow:before{content:"";position:absolute;top:50%;left:50%;width:200%;height:200%;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent 0 270deg,var(--fx-color) 360deg);animation:neon-spin-pseudo 3s linear infinite}.border-fx-neon-chase-led{position:absolute;inset:-2px;border-radius:inherit;padding:2px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:50;filter:drop-shadow(0 0 8px var(--fx-color))}.border-fx-neon-chase-led:before{content:"";position:absolute;top:50%;left:50%;width:200%;height:200%;transform:translate(-50%,-50%);background:repeating-conic-gradient(from 0deg,var(--fx-color) 0deg 10deg,transparent 10deg 20deg);animation:neon-spin-pseudo 10s linear infinite}.border-fx-neon-flicker-heavy{position:absolute;inset:-1px;border-radius:inherit;border:3px solid var(--fx-color);pointer-events:none;z-index:50;box-shadow:inset 0 0 20px var(--fx-color),0 0 25px var(--fx-color),0 0 50px var(--fx-color)}@keyframes neon-spin-pseudo{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
