@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateY(0)}40%,43%{transform:translateY(-10px)}70%{transform:translateY(-5px)}90%{transform:translateY(-2px)}}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-slide-in{animation:slideIn .4s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-bounce{animation:bounce 1s infinite}.transition-all{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-colors{transition:color .3s ease,background-color .3s ease,border-color .3s ease}.transition-transform{transition:transform .3s cubic-bezier(.4,0,.2,1)}.transition-opacity{transition:opacity .3s ease}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px #fb923c66}.loading-skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%);background-size:200% 100%;animation:loading 1.5s infinite}.btn-primary{background:linear-gradient(135deg,#fb923c,#f97316);border:none;border-radius:12px;color:#fff;font-weight:600;padding:12px 24px;position:relative;overflow:hidden;transition:all .3s ease}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #fb923c4d}.btn-secondary{background:#fff;border:2px solid #e5e7eb;border-radius:12px;color:#374151;font-weight:600;padding:12px 24px;transition:all .3s ease}.btn-secondary:hover{border-color:#fb923c;color:#fb923c;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.card{background:#fff;border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;transition:all .3s ease;overflow:hidden}.card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.card-header{padding:20px;border-bottom:1px solid #f3f4f6}.card-body{padding:20px}.card-footer{padding:20px;border-top:1px solid #f3f4f6;background:#f9fafb}.form-input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:12px;font-size:16px;transition:all .3s ease;background:#fff}.form-input:focus{outline:none;border-color:#fb923c;box-shadow:0 0 0 3px #fb923c1a}.form-input::placeholder{color:#9ca3af}.form-label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:14px}.notification{position:fixed;top:20px;right:20px;padding:16px 20px;border-radius:12px;box-shadow:0 8px 16px #00000026;z-index:1000;animation:slideIn .3s ease-out;max-width:400px}.notification.success{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.notification.error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.notification.info{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}@media(prefers-color-scheme:dark){.card{background:#1f2937;border-color:#374151}.form-input{background:#374151;border-color:#4b5563;color:#fff}.form-input:focus{border-color:#fb923c;box-shadow:0 0 0 3px #fb923c33}.btn-secondary{background:#374151;border-color:#4b5563;color:#fff}}@media(max-width:768px){.animate-fade-in{animation-duration:.3s}.card:hover,.btn-primary:hover{transform:none}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f3f4f6}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media(prefers-color-scheme:dark){::-webkit-scrollbar-track{background:#374151}::-webkit-scrollbar-thumb{background:#4b5563}::-webkit-scrollbar-thumb:hover{background:#6b7280}}.performance-card{contain:layout style paint;will-change:transform}.performance-image{content-visibility:auto;contain-intrinsic-size:400px 300px}.performance-scroll{scroll-behavior:smooth;overscroll-behavior:contain}.performance-animate{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.lazy-placeholder{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:768px){.performance-card{contain:layout}.performance-animate{will-change:auto}}@media(prefers-reduced-motion:reduce){.performance-animate{animation:none!important;transition:none!important}.performance-scroll{scroll-behavior:auto}}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.performance-text{text-rendering:optimizeSpeed;font-display:swap}.virtual-list{contain:strict;height:100%;overflow-y:auto}.virtual-list-item{contain:layout style;min-height:60px}.component-cache{contain:layout style paint}.network-optimize{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.performance-monitor{position:fixed;bottom:10px;right:10px;background:#000c;color:#fff;padding:5px 10px;border-radius:5px;font-size:12px;z-index:9999;font-family:monospace}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5em}.skeleton-text.small{height:.8em;width:60%}.skeleton-text.large{height:1.2em;width:80%}.skeleton-avatar{width:40px;height:40px;border-radius:50%}.skeleton-image{width:100%;height:200px;border-radius:8px}.performance-form{contain:layout style}.performance-input{font-display:swap;text-rendering:optimizeSpeed}.performance-button{contain:layout style;will-change:transform;transform:translateZ(0)}.performance-button:active{transform:scale(.98)}.performance-modal{contain:layout style;will-change:opacity,transform}.performance-modal-backdrop{contain:layout style;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.performance-tooltip{contain:layout style;will-change:opacity,transform;pointer-events:none}.performance-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.performance-transition-fast{transition:all .15s cubic-bezier(.4,0,.2,1)}.performance-transition-slow{transition:all .5s cubic-bezier(.4,0,.2,1)}.performance-grid{display:grid;gap:1rem;contain:layout}.performance-flex{display:flex;gap:1rem;contain:layout}.performance-responsive{container-type:inline-size}@container (min-width: 768px){.performance-responsive{grid-template-columns:repeat(2,1fr)}}@container (min-width: 1024px){.performance-responsive{grid-template-columns:repeat(3,1fr)}}.performance-theme{contain:style;transition:background-color .3s ease,color .3s ease}.performance-scroll-snap{scroll-snap-type:x mandatory;scroll-behavior:smooth}.performance-scroll-snap-item{scroll-snap-align:start;contain:layout}.performance-focus{outline:2px solid #007bff;outline-offset:2px;contain:layout}.performance-loading{contain:layout style;pointer-events:none}.performance-error{contain:layout style;background:#fee;border:1px solid #fcc;padding:1rem;border-radius:4px}.performance-success{contain:layout style;background:#efe;border:1px solid #cfc;padding:1rem;border-radius:4px}.performance-warning{contain:layout style;background:#ffe;border:1px solid #ffc;padding:1rem;border-radius:4px}.performance-info{contain:layout style;background:#eef;border:1px solid #ccf;padding:1rem;border-radius:4px}
