:where(:root){--skeleton-animation-duration:1.5s;--skeleton-animation-easing:ease-in-out;--skeleton-shimmer-from:color-mix(in oklch, var(--theme-text-primary,currentColor) 8%, transparent);--skeleton-shimmer-via:color-mix(in oklch, var(--theme-text-primary,currentColor) 14%, transparent);--skeleton-shimmer-to:var(--skeleton-shimmer-from);--skeleton-surface:var(--theme-surface-card,var(--color-surface));--skeleton-border-color:var(--theme-border-subtle,color-mix(in oklch, var(--theme-text-primary,currentColor) 12%, transparent));--skeleton-bone-bg:var(--skeleton-shimmer-from);--skeleton-bone-bg-strong:var(--skeleton-shimmer-via);--skeleton-overlay-from:color-mix(in oklch, var(--theme-text-primary,currentColor) 0%, transparent);--skeleton-overlay-via:color-mix(in oklch, var(--theme-text-primary,currentColor) 16%, transparent);--skeleton-overlay-to:var(--skeleton-overlay-from);--skeleton-static-opacity:.6}:where(.dark){--skeleton-shimmer-from:color-mix(in oklch, var(--theme-text-primary,currentColor) 12%, transparent);--skeleton-shimmer-via:color-mix(in oklch, var(--theme-text-primary,currentColor) 20%, transparent);--skeleton-shimmer-to:var(--skeleton-shimmer-from);--skeleton-surface:var(--theme-surface-card,var(--color-surface));--skeleton-border-color:var(--theme-border-subtle,color-mix(in oklch, var(--theme-text-primary,currentColor) 18%, transparent));--skeleton-bone-bg:var(--skeleton-shimmer-from);--skeleton-bone-bg-strong:var(--skeleton-shimmer-via);--skeleton-overlay-via:color-mix(in oklch, var(--theme-text-primary,currentColor) 22%, transparent)}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes shimmer-subtle{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes shimmer-legacy{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton-box{background:var(--skeleton-shimmer-from);position:relative;overflow:hidden}.skeleton-box:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer-via) 50%, transparent 100%);animation:shimmer var(--skeleton-animation-duration) var(--skeleton-animation-easing) infinite;will-change:transform;position:absolute;inset:0}.skeleton-circle{background:var(--skeleton-shimmer-from);border-radius:var(--shape-avatar,var(--radius-full));position:relative;overflow:hidden}.skeleton-circle:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer-via) 50%, transparent 100%);animation:shimmer var(--skeleton-animation-duration) var(--skeleton-animation-easing) infinite;will-change:transform;position:absolute;inset:0}.skeleton-text{background:var(--skeleton-shimmer-from);border-radius:var(--shape-badge,var(--radius-full));height:var(--space-4);position:relative;overflow:hidden}.skeleton-text:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer-via) 50%, transparent 100%);animation:shimmer var(--skeleton-animation-duration) var(--skeleton-animation-easing) infinite;will-change:transform;position:absolute;inset:0}.skeleton-button{background:var(--skeleton-shimmer-from);border-radius:var(--shape-button,var(--radius-lg));height:var(--space-10);position:relative;overflow:hidden}.skeleton-button:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer-via) 50%, transparent 100%);animation:shimmer var(--skeleton-animation-duration) var(--skeleton-animation-easing) infinite;will-change:transform;position:absolute;inset:0}.skeleton-gradient{background:linear-gradient(135deg, var(--surface-primary-hover) 0%, var(--color-secondary-200) 50%, var(--color-accent-200) 100%);border-radius:var(--shape-card,var(--radius-xl))}:global(.dark) .skeleton-gradient{background:linear-gradient(135deg, var(--color-primary-800) 0%, var(--color-secondary-800) 50%, var(--color-accent-800) 100%)}.skeleton-glow{background:linear-gradient(135deg, color-mix(in oklch, var(--color-primary-500,var(--color-primary-500)) 15%, transparent) 0%, color-mix(in oklch, var(--color-accent-500) 15%, transparent) 100%);border-radius:var(--shape-card,var(--radius-xl));filter:blur(20px);animation:shimmer calc(var(--skeleton-animation-duration) * 2.5) var(--skeleton-animation-easing) infinite;animation-delay:var(--timing-standard,.2s);position:absolute;inset:0}.skeleton-sidebar{width:var(--sidebar-expanded-width,260px);background:var(--skeleton-surface);border-right:1px solid var(--skeleton-border-color);flex-shrink:0;height:100%;overflow:hidden}.skeleton-main-content{background:var(--skeleton-surface);flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}.skeleton-header{border-bottom:1px solid color-mix(in oklch, var(--skeleton-border-color) 60%, transparent);padding:var(--space-6);backdrop-filter:blur(4px);justify-content:space-between;align-items:center;display:flex}.skeleton-input-area{border-top:1px solid color-mix(in oklch, var(--skeleton-border-color) 60%, transparent);padding:var(--space-6);background:color-mix(in oklch, var(--skeleton-surface) 50%, transparent);backdrop-filter:blur(4px)}@media (prefers-reduced-motion:reduce){.skeleton-box,.skeleton-circle,.skeleton-text,.skeleton-button,.skeleton-glow{background:var(--skeleton-shimmer-from);opacity:var(--skeleton-static-opacity);animation:none}.skeleton-gradient{background:var(--skeleton-shimmer-from);opacity:var(--skeleton-static-opacity)}}.skeleton-h-8{height:var(--space-8)}.skeleton-h-10{height:var(--space-10)}.skeleton-h-14{height:3.5rem}.skeleton-h-20{height:var(--space-20)}.skeleton-w-24{width:6rem}.skeleton-w-32{width:8rem}.skeleton-w-48{width:12rem}.skeleton-w-full{width:100%}.skeleton-w-3-5{width:60%}.skeleton-w-4-5{width:80%}.skeleton-rounded-sm{border-radius:var(--shape-badge,var(--radius-sm))}.skeleton-rounded-md{border-radius:var(--shape-input,var(--radius-md))}.skeleton-rounded-lg{border-radius:var(--shape-card,var(--radius-lg))}.skeleton-rounded-xl{border-radius:var(--shape-card,var(--radius-xl))}.skeleton-rounded-2xl{border-radius:var(--shape-modal,calc(var(--radius-xl) * 1.33))}.skeleton-rounded-full{border-radius:var(--shape-avatar,var(--radius-full))}.skeleton-delay-75{animation-delay:75ms}.skeleton-delay-100{animation-delay:.1s}.skeleton-delay-150{animation-delay:.15s}.skeleton-delay-200{animation-delay:.2s}.skeleton-delay-300{animation-delay:.3s}.skeleton-delay-400{animation-delay:.4s}.skeleton-delay-500{animation-delay:.5s}.skeleton-delay-600{animation-delay:.6s}.skeleton-delay-800{animation-delay:.8s}
