*{transition-property:background-color,border-color,color,fill,stroke;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}body{transition:background-color .3s,color .3s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.page-load{animation:.5s ease-out fadeInUp}.card-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-smooth:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0000001a}.btn-smooth{transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-smooth:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f626}.btn-smooth:active{transform:translateY(0)}.btn-smooth:after{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-smooth:active:after{width:300px;height:300px}input,textarea,select{transition:all .2s}input:focus,textarea:focus,select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.hover-lift{transition:transform .2s,box-shadow .2s}.hover-lift:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001f}a{transition:color .2s,opacity .2s}.nav-item{transition:all .2s;position:relative}.nav-item:after{content:"";background:currentColor;width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-item:hover:after{width:100%}.modal-overlay{animation:.2s ease-out fadeIn}.modal-content{animation:.3s ease-out fadeInUp}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-enter{animation:.3s ease-out slideInRight}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.gradient-animate{background:linear-gradient(-45deg,#3b82f6,#1d4ed8,#8b5cf6,#6d28d9) 0 0/400% 400%;animation:15s infinite gradientShift}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0000000d;border-radius:5px}::-webkit-scrollbar-thumb{background:#0003;border-radius:5px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#0000004d}.dark ::-webkit-scrollbar-track{background:#ffffff0d}.dark ::-webkit-scrollbar-thumb{background:#fff3}.dark ::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.focus-ring{transition:box-shadow .2s}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #3b82f633}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 0%,#e0e0e0 20%,#f0f0f0 40% 100%) 0 0/1000px 100%;animation:2s linear infinite shimmer}.dark .skeleton{background:linear-gradient(90deg,#1f2937 0%,#374151 20%,#1f2937 40% 100%)}.scale-smooth{transition:transform .2s}.scale-smooth:hover{transform:scale(1.02)}.scale-smooth:active{transform:scale(.98)}
@media screen{.auth-links,a[href=\/login],a[href=\/register],a[href=\/login]+*,a[href=\/register]+*{display:none!important}}[data-production=true] .auth-links,[data-production=true] a[href=\/login],[data-production=true] a[href=\/register]{display:none!important}
.high-contrast{--background:#000;--foreground:#fff;--card:#000;--card-foreground:#fff;--popover:#000;--popover-foreground:#fff;--primary:#fff;--primary-foreground:#000;--secondary:#333;--secondary-foreground:#fff;--muted:#333;--muted-foreground:#ccc;--accent:#fff;--accent-foreground:#000;--destructive:red;--destructive-foreground:#fff;--border:#fff;--input:#fff;--ring:#fff}.high-contrast *{color:var(--foreground)!important;background-color:var(--background)!important;border-color:var(--border)!important}.high-contrast button,.high-contrast [role=button]{background-color:var(--primary)!important;color:var(--primary-foreground)!important;border:2px solid var(--border)!important}.high-contrast button:hover,.high-contrast [role=button]:hover{background-color:var(--secondary)!important;color:var(--secondary-foreground)!important}.high-contrast input,.high-contrast textarea,.high-contrast select{background-color:var(--background)!important;color:var(--foreground)!important;border:2px solid var(--border)!important}.high-contrast a{color:var(--primary)!important;text-decoration:underline!important}.high-contrast a:hover{color:var(--accent)!important}.high-contrast :focus{outline-offset:2px!important;outline:3px solid #ff0!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--primary);color:var(--primary-foreground);z-index:1000;border-radius:4px;padding:8px;text-decoration:none;position:absolute;top:-40px;left:6px}.skip-link:focus{top:6px}.high-contrast .skip-link{color:#000;background:#fff;border:2px solid #000}.large-text{font-size:1.25rem;line-height:1.6}.high-contrast .large-text{font-size:1.5rem;line-height:1.8}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in-up{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.animate-fade-in{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards fadeIn}.animate-fade-in-up-delay-1{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) .2s forwards fadeInUp}.animate-fade-in-up-delay-2{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) .4s forwards fadeInUp}.animate-fade-in-delay-1{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) .2s forwards fadeIn}.animate-fade-in-delay-2{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) .4s forwards fadeIn}.animate-on-scroll{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.animate-stagger>*{opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.animate-stagger.visible>:first-child{opacity:1;transition-delay:0s;transform:translateY(0)}.animate-stagger.visible>:nth-child(2){opacity:1;transition-delay:.1s;transform:translateY(0)}.animate-stagger.visible>:nth-child(3){opacity:1;transition-delay:.2s;transform:translateY(0)}.animate-stagger.visible>:nth-child(4){opacity:1;transition-delay:.3s;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.animate-fade-in-up,.animate-fade-in,.animate-fade-in-up-delay-1,.animate-fade-in-up-delay-2,.animate-fade-in-delay-1,.animate-fade-in-delay-2,.animate-on-scroll{opacity:1;animation:none;transform:none}.animate-stagger>*{opacity:1;transition:none;transform:none}}
