.module-card{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.module-container{contain:layout style paint}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.module-card-enter{animation:fadeIn .3s ease-out forwards}.image-container{contain:layout style paint size;content-visibility:auto}img{transition:opacity .3s ease-in-out}img[data-loaded=false]{opacity:0}img[data-loaded=true]{opacity:1}.image-loading-bg{background:linear-gradient(135deg,#f5f5f5,#e5e5e5)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.detail-section-wrapper{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.detail-section-wrapper.expanded{grid-template-rows:1fr}.detail-section-content{min-height:0;transition:opacity .3s ease-in-out .1s;opacity:0;transform:translateY(-10px);transition:opacity .3s ease-in-out .1s,transform .3s ease-in-out .1s}.detail-section-wrapper.expanded .detail-section-content{opacity:1;transform:translateY(0)}.detail-section-wrapper.expanded+.border-t-2{animation:borderPulse .4s ease-out}@keyframes borderPulse{0%{border-color:rgba(67,109,178,.4)}50%{border-color:rgba(67,109,178,.8)}to{border-color:rgba(67,109,178,.4)}}.module-card{scroll-margin-top:80px}button:active{transform:scale(.98);transition:transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.detail-section-content,.detail-section-wrapper{transition:none}}