.skeleton-card,.skeleton-text,.skeleton-icon,.skeleton-button,.skeleton-chip,.skeleton-tab,.skeleton-input{background:linear-gradient(90deg,var(--skeleton-base,#f0f0f0)0%,var(--skeleton-shimmer,#f8f8f8)50%,var(--skeleton-base,#f0f0f0)100%);background-size:200% 100%;animation:.5s ease-in-out infinite shimmer;position:relative;overflow:hidden}[data-theme=dark] .skeleton-card,[data-theme=dark] .skeleton-text,[data-theme=dark] .skeleton-icon,[data-theme=dark] .skeleton-button,[data-theme=dark] .skeleton-chip,[data-theme=dark] .skeleton-tab,[data-theme=dark] .skeleton-input{--skeleton-base:#2a2a2a;--skeleton-shimmer:#3a3a3a}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.skeleton-shim{background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%) 0 0/200% 100%;width:100%;height:100%;animation:.5s ease-in-out infinite shimmer-slide;position:absolute;top:0;left:0}[data-theme=dark] .skeleton-shim{background:linear-gradient(90deg,#0000 0%,#ffffff1a 50%,#0000 100%)}@keyframes shimmer-slide{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeleton-text{border-radius:4px;display:block}.skeleton-icon{border-radius:50%;display:block}.skeleton-button{border-radius:8px;display:block}.skeleton-chip{border-radius:16px;display:block}.skeleton-tab,.skeleton-input{border-radius:8px;display:block}.skeleton-card{border-radius:12px;display:block;position:relative;overflow:hidden}.product-card-skeleton{background:var(--card-bg,white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a}[data-theme=dark] .product-card-skeleton{--card-bg:#1a1a1a;box-shadow:0 2px 8px #0000004d}.loading-state{color:var(--text-secondary,#666);justify-content:center;align-items:center;padding:40px;font-size:1.1rem;animation:.5s ease-in-out infinite pulse;display:flex}[data-theme=dark] .loading-state{--text-secondary:#999}.skeleton-line-short{width:40%}.skeleton-line-medium{width:60%}.skeleton-line-long{width:80%}.skeleton-line-full{width:100%}@media (max-width:768px){.skeleton-card,.product-card-skeleton{border-radius:8px}}@media (prefers-reduced-motion:reduce){.skeleton-card,.skeleton-text,.skeleton-icon,.skeleton-button,.skeleton-chip,.skeleton-tab,.skeleton-input,.skeleton-shim,.loading-state{animation:none}.skeleton-card,.skeleton-text,.skeleton-icon,.skeleton-button,.skeleton-chip,.skeleton-tab,.skeleton-input{background:var(--skeleton-base,#f0f0f0)}}
