@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #6366f14d}50%{box-shadow:0 0 40px #6366f199}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fade-in .4s ease-out forwards}.animate-fade-in-up{animation:fade-in-up .5s ease-out forwards}.animate-slide-in-right{animation:slide-in-right .4s ease-out forwards}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.stagger-children>*{opacity:0;animation:fade-in-up .5s ease-out forwards}.stagger-children>*:nth-child(1){animation-delay:.1s}.stagger-children>*:nth-child(2){animation-delay:.2s}.stagger-children>*:nth-child(3){animation-delay:.3s}.stagger-children>*:nth-child(4){animation-delay:.4s}.stagger-children>*:nth-child(5){animation-delay:.5s}.stagger-children>*:nth-child(6){animation-delay:.6s}.gradient-text-animated{background:linear-gradient(90deg,#818cf8,#c084fc,#f472b6,#818cf8);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-shift 5s ease infinite}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.btn-glow:hover{box-shadow:0 0 30px #6366f180}.card-hover{transition:all .3s ease}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}input:focus,textarea:focus{transition:all .2s ease}.skeleton{background:linear-gradient(90deg,#1e293b 25%,#334155,#1e293b 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:8px 12px;background:#1e293b;border:1px solid #334155;border-radius:8px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.tooltip:hover:after{opacity:1;transform:translate(-50%) translateY(-4px)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:8px;border-radius:4px;background:#334155}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#6366f1;cursor:pointer;border:2px solid #818cf8;transition:all .2s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);background:#818cf8}details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}details[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}@media(max-width:768px){.hide-mobile{display:none}}@media(min-width:769px){.hide-desktop{display:none}}@media(max-width:768px){button,a,input[type=submit],.clickable{min-height:44px;min-width:44px}input,textarea,select{font-size:16px!important;padding:12px 16px}.container{padding-left:16px;padding-right:16px}header .flex{flex-wrap:wrap}.modal-content{max-height:90vh;overflow-y:auto;margin:16px}body{overflow-x:hidden}p,li{line-height:1.7}.close-btn{min-width:44px;min-height:44px}}@media(min-width:768px)and (max-width:1024px){.container{padding-left:24px;padding-right:24px}h1{font-size:2.5rem}h2{font-size:2rem}}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right));padding-bottom:max(0px,env(safe-area-inset-bottom))}}img{max-width:100%;height:auto}.scroll-container{-webkit-overflow-scrolling:touch}button{-webkit-user-select:none;user-select:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #6366f1;outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
