@keyframes fadeUp{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-fade-up,.animate-fade-up-stagger{opacity:0;animation:fadeUp .5s cubic-bezier(.22,1,.36,1) both}.animate-fade-up-stagger{animation-delay:calc(var(--i, 0)*.1s)}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-right{animation:slideInRight .6s cubic-bezier(.22,1,.36,1) both}@keyframes skeletonShimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-bone{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 37%,#f0f0f0 63%);background-size:800px 100%;animation:skeletonShimmer 1.6s ease-in-out infinite;border-radius:6px}@keyframes tabContentEnter{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}[data-slot=tabs-content][data-state=inactive]{display:none}[data-slot=tabs-content][data-state=active]{animation:tabContentEnter .25s cubic-bezier(.22,1,.36,1) both}@keyframes wishlistModalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes wishlistModalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spinIcon{to{transform:rotate(1turn)}}.btn-spinner{animation:spinIcon .75s linear infinite;display:block}@keyframes txRippleExpand{0%{clip-path:circle(0 at var(--tx-x) var(--tx-y))}to{clip-path:circle(150vmax at var(--tx-x) var(--tx-y))}}@keyframes txRippleFade{0%{opacity:1}to{opacity:0}}.page-tx-overlay{position:fixed;inset:0;background:#fff;z-index:9999;pointer-events:none}.page-tx-overlay--expanding{animation:txRippleExpand .55s cubic-bezier(.4,0,.2,1) forwards}.page-tx-overlay--covering,.page-tx-overlay--fading{clip-path:circle(150vmax at var(--tx-x) var(--tx-y))}.page-tx-overlay--fading{animation:txRippleFade .4s ease-out forwards}@keyframes panelSlideIn{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes panelSlideOut{0%{transform:translateX(0)}to{transform:translateX(100%)}}.col-tx-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden}.col-tx-panel{position:absolute;inset:0;background-color:#1f1b31;transform:translateX(-100%);will-change:transform}.col-tx-overlay--dark .col-tx-panel{background:linear-gradient(135deg,#1f1b31,#1d405a)}.col-tx-overlay--light .col-tx-panel{background:linear-gradient(135deg,#e1e1e1,#d0cfcc)}.col-tx-overlay--columns-in .col-tx-panel{animation:panelSlideIn .55s cubic-bezier(.65,0,.35,1) forwards}.col-tx-overlay--columns-covering .col-tx-panel{transform:translateX(0)}.col-tx-overlay--columns-out .col-tx-panel{transform:translateX(0);animation:panelSlideOut .55s cubic-bezier(.65,0,.35,1) forwards}@keyframes logoDotSlideIn{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes logoDotBounce{0%{transform:translateY(0)}45%{transform:translateY(-10px)}75%{transform:translateY(3px)}to{transform:translateY(0)}}@keyframes logoLetterIn{0%{opacity:0;transform:translateY(18px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.col-tx-logo{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;pointer-events:none}.col-tx-logo__svg{width:clamp(160px,28vw,320px);height:auto;overflow:visible}.col-tx-logo__dot,.col-tx-logo__letter{opacity:0}.col-tx-logo__dot--visible{opacity:1;animation:logoDotSlideIn .32s cubic-bezier(.22,1,.36,1) both}.col-tx-logo__dot--pulse{opacity:1;animation:logoDotBounce .45s cubic-bezier(.34,1.56,.64,1) forwards}.col-tx-logo__letter--visible{opacity:1;animation:logoLetterIn .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes logoFadeOut{0%{opacity:1}to{opacity:0}}.col-tx-logo--fading{animation:logoFadeOut .2s ease-out forwards}