@font-face{font-family:Inter;font-display:swap;src:local("Inter")}img{loading:lazy;max-width:100%;height:auto}.slow-connection img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.critical-content{contain:layout style paint}.non-critical{content-visibility:auto;contain-intrinsic-size:0 500px}.animated-element{will-change:transform;transform:translateZ(0);backface-visibility:hidden}.scroll-container{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}@media (max-width:768px){.mobile-optimized{contain:layout style}}@media print{.no-print{display:none!important}*{-webkit-print-color-adjust:exact;color-adjust:exact}}@media (prefers-contrast:high){.high-contrast{border:2px solid}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-color-scheme:dark){.dark-mode-optimized{background-color:#000;color:#fff}}.focus-visible{outline:2px solid #007acc;outline-offset:2px}.loading{opacity:.6;transition:opacity .3s ease}.loaded{opacity:1}.error{background-color:#fee;border:1px solid #fcc;color:#c33;padding:8px;border-radius:4px}.performance-indicator{position:fixed;top:10px;right:10px;background:rgba(0,0,0,.8);color:white;padding:8px;border-radius:4px;font-size:12px;z-index:9999;display:none}@media (max-width:9999px){.performance-indicator{display:block}}.network-status{position:fixed;bottom:10px;left:10px;background:rgba(0,0,0,.8);color:white;padding:4px 8px;border-radius:4px;font-size:10px;z-index:9999}.network-status.fast{background:rgba(0,128,0,.8)}.network-status.medium{background:rgba(255,165,0,.8)}.network-status.slow{background:rgba(255,0,0,.8)}.image-placeholder{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.content-visibility-auto{content-visibility:auto;contain-intrinsic-size:0 500px}.container-query{container-type:inline-size}@container (min-width: 400px){.responsive-content{display:grid;grid-template-columns:repeat(2,1fr)}}