@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes shimmer-slow{0%{background-position:-2000px 0}to{background-position:2000px 0}}.skeleton{position:relative;overflow:hidden;border-radius:var(--radius-card);background:linear-gradient(90deg,#ffffff0d,#ffffff1a,#ffffff0d);background-size:2000px 100%;animation:shimmer 2s infinite linear}html[data-theme=light] .skeleton{background:linear-gradient(90deg,#00000008,#00000014,#00000008);background-size:2000px 100%}.skeleton-text{height:1em;border-radius:var(--radius-sm);margin-bottom:.5em}.skeleton-text:last-child{margin-bottom:0}.skeleton-text.short{width:60%}.skeleton-text.medium{width:80%}.skeleton-text.long{width:100%}.skeleton-avatar{width:48px;height:48px;border-radius:50%;flex-shrink:0}.skeleton-avatar.small{width:32px;height:32px}.skeleton-avatar.large{width:64px;height:64px}.skeleton-card{padding:var(--gap-4);border-radius:var(--radius-card);background:var(--color-bg-primary);border:1px solid var(--color-border)}.skeleton-card-header{display:flex;align-items:center;gap:var(--gap-3);margin-bottom:var(--gap-3)}.skeleton-card-body{display:flex;flex-direction:column;gap:var(--gap-2)}.skeleton-card-footer{display:flex;gap:var(--gap-2);margin-top:var(--gap-3);padding-top:var(--gap-3);border-top:1px solid var(--color-border)}.skeleton-button{height:44px;border-radius:var(--radius-btn);width:120px}.skeleton-button.full{width:100%}.skeleton-image{width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-card)}.skeleton-image.square{aspect-ratio:1 / 1}.skeleton-image.circle{aspect-ratio:1 / 1;border-radius:50%}.skeleton-list{display:flex;flex-direction:column;gap:var(--gap-3)}.skeleton-list-item{display:flex;align-items:center;gap:var(--gap-3);padding:var(--gap-3);border-radius:var(--radius-card);background:var(--color-bg-primary);border:1px solid var(--color-border)}.skeleton-table{width:100%;border-collapse:collapse}.skeleton-table-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--gap-3);padding:var(--gap-3);border-bottom:1px solid var(--color-border)}.skeleton-table-cell{height:1.5em;border-radius:var(--radius-sm)}.skeleton-dashboard-card{padding:var(--gap-4);border-radius:var(--radius-card);background:var(--color-bg-primary);border:1px solid var(--color-border)}.skeleton-dashboard-card .skeleton-text{margin-bottom:var(--gap-2)}.skeleton-dashboard-card .skeleton-text:first-child{width:40%;height:1.5em}.skeleton-dashboard-card .skeleton-text:nth-child(2){width:100%;height:2.5em;margin-bottom:var(--gap-3)}.skeleton-chat-message{display:flex;gap:var(--gap-2);padding:var(--gap-3);border-radius:var(--radius-card);background:var(--color-bg-primary);margin-bottom:var(--gap-2)}.skeleton-chat-message.user{flex-direction:row-reverse}.skeleton-chat-message .skeleton-avatar{width:40px;height:40px}.skeleton-chat-message .skeleton-text{flex:1;height:1.2em}.skeleton-profile{display:flex;flex-direction:column;align-items:center;gap:var(--gap-4);padding:var(--gap-5)}.skeleton-profile .skeleton-avatar{width:120px;height:120px}.skeleton-profile .skeleton-text{width:200px;height:1.5em}.skeleton.pulse{animation:shimmer 2s infinite linear,skeleton-pulse 2s ease-in-out infinite}.skeleton.slow{animation:shimmer-slow 3s infinite linear}.skeleton.fast{animation:shimmer 1s infinite linear}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 768px){.skeleton-card,.skeleton-dashboard-card{padding:var(--gap-3)}.skeleton-avatar.large{width:80px;height:80px}}.skeleton[aria-busy=true]{position:relative}.skeleton[aria-busy=true]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:inherit;animation:shimmer 2s infinite linear}@media (prefers-reduced-motion: reduce){.skeleton,.skeleton[aria-busy=true]:before{animation:none;background:var(--color-bg-secondary)}}.skeleton-container{display:flex;flex-direction:column;gap:var(--gap-3)}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--gap-4)}@media (max-width: 768px){.skeleton-grid{grid-template-columns:1fr}}
