.lazy-image-container.svelte-e5exca{position:relative;overflow:hidden;background-color:#f3f4f6;border-radius:.5rem}.lazy-image.svelte-e5exca{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .3s ease,filter .3s ease;opacity:0;filter:blur(5px)}.lazy-image.loaded.svelte-e5exca{opacity:1;filter:blur(0)}.lazy-image.error.svelte-e5exca{opacity:.5}.loading-overlay.svelte-e5exca{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background-color:#f3f4f6cc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-spinner.svelte-e5exca{width:2rem;height:2rem;border:2px solid #e5e7eb;border-top:2px solid #3b82f6;border-radius:50%;animation:svelte-e5exca-spin 1s linear infinite}.error-overlay.svelte-e5exca{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#ef44441a;color:#dc2626;font-size:.875rem;text-align:center;padding:1rem}.error-icon.svelte-e5exca{width:2rem;height:2rem;margin-bottom:.5rem}@keyframes svelte-e5exca-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.lazy-image.svelte-e5exca,.loading-spinner.svelte-e5exca{transition:none;animation:none}}.project-card.svelte-c03s05{transform-style:preserve-3d;transition:transform .3s cubic-bezier(.25,.46,.45,.94),box-shadow .4s ease-out,border .3s ease-out}.project-card.svelte-c03s05:hover{border-color:#8b5cf666;box-shadow:0 25px 50px -12px #8b5cf640,0 0 0 1px #8b5cf61a,inset 0 1px #ffffff1a}.project-card.svelte-c03s05>div:where(.svelte-c03s05){transform-style:preserve-3d}.enhanced-card.svelte-c03s05{background:linear-gradient(135deg,#334155f2,#1e293bf2);border:2px solid rgba(139,92,246,.4);box-shadow:0 30px 60px -12px #8b5cf64d,0 0 0 1px #8b5cf626,inset 0 1px #ffffff26}.enhanced-card.svelte-c03s05:hover{border-color:#8b5cf699;box-shadow:0 40px 80px -12px #8b5cf666,0 0 0 1px #8b5cf640,inset 0 1px #fff3}.enhanced-card.svelte-c03s05:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(139,92,246,.15) 0%,transparent 25%,transparent 75%,rgba(6,214,160,.15) 100%);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1}.enhanced-card.svelte-c03s05:hover:before{opacity:1}.enhanced-card.svelte-c03s05>:where(.svelte-c03s05){position:relative;z-index:2}.project-card.svelte-c03s05 .tech-badge:where(.svelte-c03s05){animation:svelte-c03s05-techSlideUp .6s cubic-bezier(.25,.46,.45,.94) both}@keyframes svelte-c03s05-techSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.project-card.svelte-c03s05 h3:where(.svelte-c03s05){background-size:200% 200%;transition:all .3s ease}@keyframes svelte-c03s05-particleFloat{0%,to{transform:translateY(0) translate(0);opacity:1}50%{transform:translateY(-20px) translate(10px);opacity:.7}}.crazy-pattern.svelte-q53evz{background-image:radial-gradient(circle at 25% 25%,rgba(139,92,246,.05) 0%,transparent 40%),radial-gradient(circle at 75% 75%,rgba(6,214,160,.05) 0%,transparent 40%),linear-gradient(45deg,transparent 45%,rgba(255,214,10,.02) 50%,transparent 55%);background-size:300px 300px,400px 400px,200px 200px;background-position:0 0,150px 150px,100px 100px;animation:svelte-q53evz-patternFloat 30s ease-in-out infinite;width:100%;height:100%}.projects-title.svelte-q53evz{opacity:0;animation:svelte-q53evz-titleReveal 1.2s cubic-bezier(.25,.46,.45,.94) .3s forwards}.subtitle-text.svelte-q53evz{opacity:0;transform:translateY(30px);animation:svelte-q53evz-subtitleReveal 1s cubic-bezier(.25,.46,.45,.94) .8s forwards}.filters-container.svelte-q53evz{opacity:0;animation:svelte-q53evz-filtersReveal 1s cubic-bezier(.25,.46,.45,.94) 1s forwards}.filter-btn.svelte-q53evz{position:relative;display:flex;align-items:center;gap:.5rem;padding:12px 24px;background:#33415599;border:1px solid rgba(139,92,246,.2);border-radius:50px;color:var(--text-subtle);font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform:translateY(20px);animation:svelte-q53evz-filterSlideUp .6s cubic-bezier(.25,.46,.45,.94) forwards;overflow:hidden}.filter-btn.svelte-q53evz:hover{background:#8b5cf61a;border-color:#8b5cf680;color:#a78bfa;transform:translateY(-2px)}.filter-btn.active.svelte-q53evz{background:#8b5cf633;border-color:#8b5cf699;color:#c4b5fd}.filter-indicator.svelte-q53evz{position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#8b5cf6,#06d6a0);transform:scaleX(0);transition:transform .3s ease}.filter-btn.active.svelte-q53evz .filter-indicator:where(.svelte-q53evz){transform:scaleX(1)}.projects-grid.svelte-q53evz{opacity:0;animation:svelte-q53evz-gridReveal 1s cubic-bezier(.25,.46,.45,.94) 1.8s forwards}.project-item.svelte-q53evz{opacity:0;transform:translateY(30px);animation:svelte-q53evz-itemReveal .6s cubic-bezier(.25,.46,.45,.94) forwards}@keyframes svelte-q53evz-patternFloat{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(50px,-30px) rotate(1deg)}66%{transform:translate(-30px,50px) rotate(-1deg)}}@keyframes svelte-q53evz-titleReveal{0%{opacity:0}to{opacity:1}}@keyframes svelte-q53evz-wordSlideUp{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes svelte-q53evz-gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes svelte-q53evz-subtitleReveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes svelte-q53evz-filtersReveal{0%{opacity:0}to{opacity:1}}@keyframes svelte-q53evz-filterSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes svelte-q53evz-gridReveal{0%{opacity:0}to{opacity:1}}@keyframes svelte-q53evz-itemReveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.projects-title.svelte-q53evz{font-size:3rem}.filter-btn.svelte-q53evz{padding:12px 24px;gap:.5rem}}.particle-appear.svelte-q53evz{animation:svelte-q53evz-particleAppear .8s ease-out forwards}@keyframes svelte-q53evz-particleAppear{0%{opacity:0;transform:scale(0)}to{opacity:.8;transform:scale(1)}}
