.image-loader-container{position:relative;display:inline-block;overflow:hidden;border-radius:8px;background-color:#f8f9fa}.image-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:rgba(248,249,250,.9);z-index:2}.image-spinner{position:relative;width:40px;height:40px}.spinner-ring{position:absolute;width:100%;height:100%;border:3px solid transparent;border-top-color:#007bff;border-radius:50%;animation:spin 1s linear infinite}.spinner-ring-outer{position:absolute;top:-5px;left:-5px;width:calc(100% + 10px);height:calc(100% + 10px);border:2px solid transparent;border-top-color:rgba(0,123,255,.3);border-radius:50%;animation:spin 1.5s linear infinite reverse}.image-placeholder{position:absolute;top:0;left:0;opacity:1}.image-content,.image-placeholder{width:100%;height:100%;transition:opacity .3s ease}.image-content{object-fit:cover;opacity:0}.image-content.loaded{opacity:1}.image-content.loading{opacity:0}.image-error-state{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#f8f9fa;color:#6c757d}.error-icon{font-size:24px;margin-bottom:8px}.error-text{font-size:12px;text-align:center}.text-loader{display:flex;flex-direction:column;gap:8px}.text-skeleton{background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0 50%,#e0e0e0 75%);background-size:200% 100%;border-radius:4px;opacity:.7}.text-skeleton.animated{animation:shimmer 1.5s infinite}.video-loader-container{position:relative;display:inline-block;overflow:hidden;border-radius:8px;background-color:#000}.video-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;justify-content:center;background-color:rgba(0,0,0,.7);z-index:2}.video-loading-overlay,.video-spinner{display:flex;flex-direction:column;align-items:center}.video-spinner{gap:12px}.play-icon{width:50px;height:50px;background-color:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:20px;animation:pulse 2s infinite}.loading-text{color:white;font-size:14px;font-weight:500}.video-poster{position:absolute;top:0;left:0;object-fit:cover;opacity:1}.video-content,.video-poster{width:100%;height:100%;transition:opacity .3s ease}.video-content{opacity:0}.video-content.loaded{opacity:1}.video-error-state{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#000;color:white}.table-loader{width:100%;overflow:hidden}.table-skeleton{width:100%;border-collapse:collapse}.table-header-skeleton{height:20px}.table-cell-skeleton,.table-header-skeleton{background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0 50%,#e0e0e0 75%);background-size:200% 100%;border-radius:4px;animation:shimmer 1.5s infinite}.table-cell-skeleton{height:16px}.chart-loader{width:100%;height:300px;display:flex;align-items:center;justify-content:center;background-color:#f8f9fa;border-radius:8px}.chart-skeleton{width:100%;height:100%;position:relative}.bar-chart{display:flex;align-items:end;justify-content:space-around;height:100%;padding:20px}.bar{width:30px;background:linear-gradient(180deg,#007bff,#0056b3);border-radius:4px 4px 0 0;opacity:.7}.bar.animated{animation:barGrow 1.5s ease-out infinite}.line-chart,.line-svg{width:100%;height:100%}.line-path{fill:none;stroke:#007bff;stroke-width:2;stroke-dasharray:200;stroke-dashoffset:200}.line-path.animated{animation:drawLine 2s ease-in-out infinite}.line-point{fill:#007bff;opacity:0}.line-point.animated{animation:pointAppear .5s ease-out infinite}.pie-chart{position:relative;width:150px;height:150px;background:conic-gradient(#007bff 0deg 120deg,#28a745 120deg 240deg,#ffc107 240deg 1turn)}.pie-chart,.pie-slice{border-radius:50%;opacity:.7}.pie-slice{position:absolute;width:100%;height:100%}.pie-slice.animated{animation:pieRotate 3s linear infinite}.map-loader{height:300px;background-color:#e8f5e8;border-radius:8px;overflow:hidden}.map-loader,.map-skeleton{width:100%;position:relative}.map-skeleton{height:100%}.map-background{width:100%;height:100%;background:linear-gradient(45deg,#e8f5e8 25%,#d4edda 0,#d4edda 50%,#e8f5e8 0,#e8f5e8 75%,#d4edda 0);background-size:20px 20px;opacity:.3}.map-marker{position:absolute;width:12px;height:12px;background-color:#dc3545;border-radius:50%;border:2px solid white;opacity:.7}.map-marker.animated{animation:markerPulse 2s infinite}.map-paths{position:absolute;top:0;left:0;width:100%;height:100%}.map-path{fill:none;stroke:#007bff;stroke-width:2;stroke-dasharray:100;stroke-dashoffset:100;opacity:.7}.map-path.animated{animation:pathDraw 3s ease-in-out infinite}.content-loader{width:100%}.content-skeleton{display:flex;flex-direction:column;gap:20px}.content-skeleton.article{max-width:800px}.content-skeleton.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.content-skeleton.dashboard{display:grid;grid-template-columns:1fr;gap:20px}.dashboard-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.dashboard-table{width:100%}.mixed-content{display:flex;flex-direction:column;gap:16px}.mixed-image{width:100%;height:200px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes barGrow{0%{transform:scaleY(0)}50%{transform:scaleY(1)}to{transform:scaleY(.8)}}@keyframes drawLine{0%{stroke-dashoffset:200}50%{stroke-dashoffset:0}to{stroke-dashoffset:-200}}@keyframes pointAppear{0%,50%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes pieRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes markerPulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:1}}@keyframes pathDraw{0%{stroke-dashoffset:100}50%{stroke-dashoffset:0}to{stroke-dashoffset:-100}}@media (max-width:768px){.image-spinner{width:30px;height:30px}.play-icon{width:40px;height:40px;font-size:16px}.loading-text{font-size:12px}.chart-loader,.map-loader{height:200px}.content-skeleton.gallery{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.dashboard-charts{grid-template-columns:1fr}}@media (max-width:480px){.image-spinner{width:25px;height:25px}.play-icon{width:35px;height:35px;font-size:14px}.chart-loader,.map-loader{height:150px}}@media (prefers-color-scheme:dark){.image-loader-container,.video-loader-container{background-color:#2d2d2d}.image-loading-overlay{background-color:rgba(45,45,45,.9)}.table-cell-skeleton,.table-header-skeleton,.text-skeleton{background:linear-gradient(90deg,#404040 25%,#505050 50%,#404040 75%);background-size:200% 100%}.chart-loader,.map-loader{background-color:#2d2d2d}.map-background{background:linear-gradient(45deg,#2d2d2d 25%,#404040 0,#404040 50%,#2d2d2d 0,#2d2d2d 75%,#404040 0);background-size:20px 20px}}@media (prefers-reduced-motion:reduce){.bar.animated,.line-path.animated,.line-point.animated,.map-marker.animated,.map-path.animated,.pie-slice.animated,.play-icon,.spinner-ring,.spinner-ring-outer,.table-cell-skeleton,.table-header-skeleton,.text-skeleton.animated{animation:none!important}.spinner-ring,.spinner-ring-outer{border-top-color:#007bff}.table-cell-skeleton,.table-header-skeleton,.text-skeleton{background:#e0e0e0}}@media (prefers-contrast:high){.spinner-ring,.spinner-ring-outer{border-top-color:#000}.bar,.table-cell-skeleton,.table-header-skeleton,.text-skeleton{background:#000}.line-path{stroke:#000}.line-point{fill:#000}.map-marker{background-color:#000;border-color:#fff}.map-path{stroke:#000}}