@layer base,components,utilities;@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.animate-fade-in{animation:.15s ease-out fadeIn}@keyframes fadeInFast{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-fast,[data-state=active].animate-tab-content{animation:.2s cubic-bezier(.4,0,.2,1) both slideUpFade}.animate-slide-in{animation:.3s ease-out slideIn}.animate-pulse-slow{animation:2s infinite pulse}.gpu-accelerated{will-change:transform;transform:translateZ(0)}.smooth-scroll{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.aspect-ratio-16-9{aspect-ratio:16/9}.aspect-ratio-4-3{aspect-ratio:4/3}.aspect-ratio-1-1{aspect-ratio:1}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s infinite shimmer}.skeleton-text{height:1rem;margin-bottom:.5rem}.skeleton-text:last-child{width:60%;margin-bottom:0}.skeleton-avatar{border-radius:50%;width:2.5rem;height:2.5rem}.skeleton-button{border-radius:.375rem;width:5rem;height:2.25rem}.transition-fast{transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-smooth{transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.focus-ring{outline-offset:2px;outline:2px solid #0000}.focus-ring:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}@container (min-width:768px){.container-md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width:1024px){.container-lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.table-fixed{table-layout:fixed}.table-auto{table-layout:auto}.virtual-scroll-container{contain:strict;height:100%;overflow:auto}.virtual-scroll-item{contain:layout style paint}.optimized-image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.optimized-image[data-loaded=false]{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite shimmer}.lazy-load{opacity:0;transition:opacity .3s,transform .3s;transform:translateY(20px)}.lazy-load.loaded{opacity:1;transform:translateY(0)}.performance-monitor{z-index:9999;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-radius:.5rem;padding:.5rem;font-family:monospace;font-size:.75rem;position:fixed;bottom:1rem;right:1rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-shimmer,.animate-fade-in,.animate-fade-in-fast,.animate-slide-in,.animate-pulse-slow{animation:none!important}}@media (prefers-contrast:high){.skeleton{background:#000}.skeleton-text,.skeleton-avatar,.skeleton-button{border:1px solid}}@media print{.no-print{display:none!important}.print-break-before{-moz-column-break-before:page;break-before:page}.print-break-after{-moz-column-break-after:page;break-after:page}.print-break-inside-avoid{-moz-column-break-inside:avoid;break-inside:avoid}}@media (prefers-color-scheme:dark){.skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a 50%,#2a2a2a 75%)}.performance-monitor{color:#fff;background:#ffffff1a}}
