.PortfolioPage-module-scss-module__56XQqG__portfolioPage{background:var(--background);width:100%;min-height:100vh;padding-top:var(--navbar-height)}@media (max-width:900px){.PortfolioPage-module-scss-module__56XQqG__portfolioPage{padding-top:var(--navbar-height-mobile)}}.PortfolioPage-module-scss-module__56XQqG__container{max-width:var(--max-width);padding:0 var(--gutter);margin:0 auto}.PortfolioPage-module-scss-module__56XQqG__loadingContainer,.PortfolioPage-module-scss-module__56XQqG__errorContainer{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;display:flex}.PortfolioPage-module-scss-module__56XQqG__loadingSpinner{border:3px solid var(--bg-tertiary);border-top-color:var(--accent-primary);border-radius:50%;width:48px;height:48px;animation:1s linear infinite PortfolioPage-module-scss-module__56XQqG__spin}@keyframes PortfolioPage-module-scss-module__56XQqG__spin{to{transform:rotate(360deg)}}.PortfolioPage-module-scss-module__56XQqG__heroSection{background:linear-gradient(135deg,var(--bg-primary)0%,var(--bg-secondary)100%);flex:1;align-content:center;align-items:center;height:100dvh}@media (max-width:768px){.PortfolioPage-module-scss-module__56XQqG__heroSection{height:auto;min-height:100dvh;padding:var(--section-padding-mobile)0}}.PortfolioPage-module-scss-module__56XQqG__heroSection .PortfolioPage-module-scss-module__56XQqG__container{grid-template-columns:1fr 1fr;align-items:center;gap:6rem;display:grid}@media (max-width:1200px){.PortfolioPage-module-scss-module__56XQqG__heroSection .PortfolioPage-module-scss-module__56XQqG__container{gap:4rem}}@media (max-width:968px){.PortfolioPage-module-scss-module__56XQqG__heroSection .PortfolioPage-module-scss-module__56XQqG__container{text-align:center;grid-template-columns:1fr;gap:3rem}.PortfolioPage-module-scss-module__56XQqG__heroContent{order:1;max-width:600px;margin:0 auto}}.PortfolioPage-module-scss-module__56XQqG__heroTitle{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:2rem;font-size:clamp(3rem,6vw,5rem);font-weight:800;line-height:1.1}@media (max-width:768px){.PortfolioPage-module-scss-module__56XQqG__heroTitle{font-size:clamp(2.5rem,5vw,3.5rem)}}.PortfolioPage-module-scss-module__56XQqG__heroTitle .PortfolioPage-module-scss-module__56XQqG__gradientText{background:var(--gradient-text);-webkit-text-fill-color:#0000;background-clip:text;display:inline-block}.PortfolioPage-module-scss-module__56XQqG__heroSubtitle{color:var(--text-secondary);max-width:600px;margin-bottom:3rem;font-size:clamp(1.125rem,2vw,1.375rem);line-height:1.7}@media (max-width:968px){.PortfolioPage-module-scss-module__56XQqG__heroSubtitle{margin:0 auto 0}}.PortfolioPage-module-scss-module__56XQqG__heroImage{justify-content:center;align-items:center;display:flex;position:relative}@media (max-width:968px){.PortfolioPage-module-scss-module__56XQqG__heroImage{order:1;max-width:500px;margin:0 auto}}@media (max-width:600px){.PortfolioPage-module-scss-module__56XQqG__heroImage{max-width:min(350px,92vw)}}.PortfolioPage-module-scss-module__56XQqG__heroImage img{filter:drop-shadow(0 20px 40px #0000001a);width:100%;height:auto}.PortfolioPage-module-scss-module__56XQqG__filterSection{background:var(--bg-secondary);top:var(--navbar-height);z-index:calc(var(--z-fixed) - 10);box-shadow:var(--shadow-sm);padding:2rem 0;position:sticky}@media (max-width:900px){.PortfolioPage-module-scss-module__56XQqG__filterSection{top:var(--navbar-height-mobile)}}.PortfolioPage-module-scss-module__56XQqG__filterButtons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.PortfolioPage-module-scss-module__56XQqG__filterButton{background:var(--bg-primary);cursor:pointer;color:var(--text-secondary);border:2px solid #0000;border-radius:50px;padding:.75rem 1.5rem;font-weight:500;transition:all .3s}.PortfolioPage-module-scss-module__56XQqG__filterButton:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.PortfolioPage-module-scss-module__56XQqG__filterButton.PortfolioPage-module-scss-module__56XQqG__active{background:var(--gradient-primary);color:var(--text-inverse);border-color:#0000}.PortfolioPage-module-scss-module__56XQqG__filterButton.PortfolioPage-module-scss-module__56XQqG__active:hover{transform:translateY(-2px);box-shadow:0 5px 15px #5e3bee4d}.PortfolioPage-module-scss-module__56XQqG__projectsSection{padding:var(--section-padding)0}@media (max-width:768px){.PortfolioPage-module-scss-module__56XQqG__projectsSection{padding:var(--section-padding-mobile)0}}.PortfolioPage-module-scss-module__56XQqG__projectsGrid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem;display:grid}@media (max-width:768px){.PortfolioPage-module-scss-module__56XQqG__projectsGrid{grid-template-columns:1fr}}.PortfolioPage-module-scss-module__56XQqG__projectCard{background:var(--bg-secondary);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:16px;transition:all .3s;overflow:hidden}.PortfolioPage-module-scss-module__56XQqG__projectCard:hover{box-shadow:var(--shadow-xl);transform:translateY(-10px)}.PortfolioPage-module-scss-module__56XQqG__projectCard:hover .PortfolioPage-module-scss-module__56XQqG__projectOverlay{opacity:1}.PortfolioPage-module-scss-module__56XQqG__projectCard:hover .PortfolioPage-module-scss-module__56XQqG__projectImage{transform:scale(1.1)}.PortfolioPage-module-scss-module__56XQqG__projectImageWrapper{height:250px;position:relative;overflow:hidden}.PortfolioPage-module-scss-module__56XQqG__projectImage{object-fit:cover;width:100%;height:100%;transition:transform .5s}.PortfolioPage-module-scss-module__56XQqG__projectOverlay{opacity:0;background:#5e3beee6;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.PortfolioPage-module-scss-module__56XQqG__viewButton{background:var(--bg-primary);color:var(--accent-primary);cursor:pointer;border:none;border-radius:50px;padding:.75rem 2rem;font-weight:600;transition:all .3s}.PortfolioPage-module-scss-module__56XQqG__viewButton:hover{transform:scale(1.05);box-shadow:0 5px 15px #0003}.PortfolioPage-module-scss-module__56XQqG__projectContent{padding:2rem}.PortfolioPage-module-scss-module__56XQqG__projectTitle{font-size:var(--fs-xl);color:var(--text-primary);margin-bottom:.75rem;font-weight:600}.PortfolioPage-module-scss-module__56XQqG__projectDescription{color:var(--text-secondary);margin-bottom:1rem;line-height:1.6}.PortfolioPage-module-scss-module__56XQqG__techStack{flex-wrap:wrap;gap:.5rem;display:flex}.PortfolioPage-module-scss-module__56XQqG__techTag{background:var(--bg-primary);font-size:var(--fs-sm);color:var(--text-secondary);border:1px solid var(--bg-tertiary);border-radius:50px;padding:.25rem .75rem}.PortfolioPage-module-scss-module__56XQqG__noProjects{text-align:center;color:var(--text-secondary);padding:3rem}.PortfolioPage-module-scss-module__56XQqG__statsSection{padding:var(--section-padding)0;background:var(--bg-secondary)}@media (max-width:768px){.PortfolioPage-module-scss-module__56XQqG__statsSection{padding:var(--section-padding-mobile)0}}.PortfolioPage-module-scss-module__56XQqG__statsGrid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;display:grid}@media (max-width:768px){.PortfolioPage-module-scss-module__56XQqG__statsGrid{grid-template-columns:repeat(2,1fr);gap:1rem}}.PortfolioPage-module-scss-module__56XQqG__statCard{text-align:center;background:var(--bg-primary);box-shadow:var(--shadow-sm);border-radius:12px;padding:2rem;transition:all .3s}.PortfolioPage-module-scss-module__56XQqG__statCard:hover{box-shadow:var(--shadow-lg);transform:translateY(-5px)}.PortfolioPage-module-scss-module__56XQqG__statNumber{color:var(--accent-primary);margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.PortfolioPage-module-scss-module__56XQqG__statLabel{color:var(--text-secondary);font-size:var(--fs-sm)}.PortfolioPage-module-scss-module__56XQqG__ctaSection{padding:calc(var(--section-padding)*1.5)0;background:linear-gradient(135deg,var(--accent-primary)0%,var(--accent-secondary)100%);text-align:center;color:var(--text-inverse)}.PortfolioPage-module-scss-module__56XQqG__ctaTitle{margin-bottom:1rem;font-size:clamp(2rem,4vw,3rem);font-weight:700}.PortfolioPage-module-scss-module__56XQqG__ctaSubtitle{font-size:var(--fs-xl);opacity:.9;margin-bottom:2rem}.PortfolioPage-module-scss-module__56XQqG__ctaButtons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.PortfolioPage-module-scss-module__56XQqG__primaryButton,.PortfolioPage-module-scss-module__56XQqG__secondaryButton{border-radius:8px;padding:1rem 2rem;font-weight:600;text-decoration:none;transition:all .3s}.PortfolioPage-module-scss-module__56XQqG__primaryButton{background:var(--bg-primary);color:var(--accent-primary)}.PortfolioPage-module-scss-module__56XQqG__primaryButton:hover{transform:translateY(-2px);box-shadow:0 10px 20px #0003}.PortfolioPage-module-scss-module__56XQqG__secondaryButton{color:var(--text-inverse);border:2px solid var(--text-inverse);background:0 0}.PortfolioPage-module-scss-module__56XQqG__secondaryButton:hover{background:var(--text-inverse);color:var(--accent-primary)}
.ProjectDetailModal-module-scss-module__yKtXgq__overlay{-webkit-backdrop-filter:blur(16px);z-index:1000;padding:20px;padding-top:calc(var(--navbar-height,80px) + 10px);opacity:0;pointer-events:none;background:linear-gradient(135deg,#000000d9 0%,#000000f2 100%);justify-content:center;align-items:center;transition:all .4s cubic-bezier(.23,1,.32,1);display:flex;position:fixed;inset:0}.ProjectDetailModal-module-scss-module__yKtXgq__overlay--visible{opacity:1;pointer-events:auto}.ProjectDetailModal-module-scss-module__yKtXgq__overlay--hidden{opacity:0;pointer-events:none}.ProjectDetailModal-module-scss-module__yKtXgq__modal{-webkit-backdrop-filter:blur(24px);opacity:0;background:linear-gradient(145deg,#fffffffa 0%,#f8fafcf2 100%);border:1px solid #9333ea1a;border-radius:28px;flex-direction:column;width:min(95vw,1400px);height:min(90vh,800px);transition:all .4s cubic-bezier(.23,1,.32,1);display:flex;position:relative;overflow:hidden;transform:scale(.8)translateY(60px);box-shadow:0 50px 100px #9333ea26,0 25px 50px #0000001a,inset 0 1px #fff9}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__modal{background:linear-gradient(145deg,#1e2734fa 0%,#141923f2 100%);border-color:#9333ea33}.ProjectDetailModal-module-scss-module__yKtXgq__modal--visible{opacity:1;transform:scale(1)translateY(0)}.ProjectDetailModal-module-scss-module__yKtXgq__modal--hidden{opacity:0;transform:scale(.8)translateY(60px)}.ProjectDetailModal-module-scss-module__yKtXgq__closeButton{-webkit-backdrop-filter:blur(12px);color:#7c3aed;cursor:pointer;z-index:10;background:#fffffff2;border:1px solid #9333ea26;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s cubic-bezier(.23,1,.32,1);display:flex;position:absolute;top:24px;right:24px;box-shadow:0 6px 20px #9333ea26}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__closeButton{color:#a855f7;background:#334155f2;border-color:#9333ea4d}.ProjectDetailModal-module-scss-module__yKtXgq__closeButton:hover{color:#6d28d9;background:#f8fafcfa;transform:scale(1.08);box-shadow:0 12px 32px #9333ea40}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__closeButton:hover{color:#9333ea;background:#475569fa}.ProjectDetailModal-module-scss-module__yKtXgq__closeButton:active{transform:scale(.95)}.ProjectDetailModal-module-scss-module__yKtXgq__content{background:#9333ea14;border-radius:28px;grid-template-columns:1fr .8fr;gap:1px;height:100%;display:grid;overflow:hidden}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__content{background:#9333ea26}.ProjectDetailModal-module-scss-module__yKtXgq__imageSection{background:linear-gradient(145deg,#fffffff2 0%,#f8fafce6 100%);border-radius:28px 0 0 28px;flex-direction:column;gap:20px;padding:28px;display:flex;position:relative;overflow:hidden}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__imageSection{background:linear-gradient(145deg,#1e2734f2 0%,#141923e6 100%)}.ProjectDetailModal-module-scss-module__yKtXgq__imageSection:before{content:"";pointer-events:none;background:linear-gradient(135deg,#9333ea08 0%,#3b82f608 100%);position:absolute;inset:0}.ProjectDetailModal-module-scss-module__yKtXgq__mainImageContainer{background:linear-gradient(145deg,#f8fafc 0%,#e2e8f0 100%);border-radius:20px;justify-content:center;align-items:center;height:65vh;max-height:520px;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px #9333ea1a,0 8px 16px #0000000d,inset 0 1px #fffc}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__mainImageContainer{background:linear-gradient(145deg,#1e293b 0%,#0f172a 100%)}.ProjectDetailModal-module-scss-module__yKtXgq__imageWrapper{border-radius:20px;width:100%;height:100%;position:relative;overflow:hidden}.ProjectDetailModal-module-scss-module__yKtXgq__mainImage{object-fit:contain;cursor:zoom-in;border-radius:20px;width:100%;height:100%;transition:transform .3s}.ProjectDetailModal-module-scss-module__yKtXgq__mainImage:hover{transform:scale(1.02)}.ProjectDetailModal-module-scss-module__yKtXgq__loadingContainer{z-index:2;-webkit-backdrop-filter:blur(12px);background:#fffffff2;border:1px solid #9333ea26;border-radius:20px;flex-direction:column;align-items:center;gap:16px;padding:28px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__loadingContainer{background:#1e2734f2}.ProjectDetailModal-module-scss-module__yKtXgq__loadingText{color:#7c3aed;margin:0;font-size:14px;font-weight:600}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__loadingText{color:#a855f7}.ProjectDetailModal-module-scss-module__yKtXgq__loadingSpinner{border:3px solid #9333ea33;border-top-color:#7c3aed;border-radius:50%;width:36px;height:36px;animation:1s linear infinite ProjectDetailModal-module-scss-module__yKtXgq__spin}@keyframes ProjectDetailModal-module-scss-module__yKtXgq__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ProjectDetailModal-module-scss-module__yKtXgq__navButton{-webkit-backdrop-filter:blur(12px);color:#7c3aed;cursor:pointer;z-index:5;background:#fffffff2;border:1px solid #9333ea26;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .3s cubic-bezier(.23,1,.32,1);display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 20px #9333ea26}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__navButton{color:#a855f7;background:#334155f2;border-color:#9333ea4d}.ProjectDetailModal-module-scss-module__yKtXgq__navButton:hover{color:#6d28d9;background:#f8fafcfa;transform:translateY(-50%)scale(1.08);box-shadow:0 12px 32px #9333ea40}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__navButton:hover{color:#9333ea;background:#475569fa}.ProjectDetailModal-module-scss-module__yKtXgq__navButton:active{transform:translateY(-50%)scale(.95)}.ProjectDetailModal-module-scss-module__yKtXgq__navButton.ProjectDetailModal-module-scss-module__yKtXgq__prevButton{left:24px}.ProjectDetailModal-module-scss-module__yKtXgq__navButton.ProjectDetailModal-module-scss-module__yKtXgq__nextButton{right:24px}.ProjectDetailModal-module-scss-module__yKtXgq__noImage{color:#7c3aed;background:linear-gradient(145deg,#f1f5f9 0%,#e2e8f0 100%);border:2px dashed #9333ea4d;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;height:100%;display:flex}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__noImage{color:#a855f7;background:linear-gradient(145deg,#1e293b 0%,#0f172a 100%);border-color:#9333ea66}.ProjectDetailModal-module-scss-module__yKtXgq__noImage p{margin:0;font-size:16px;font-weight:600}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSection{-webkit-backdrop-filter:blur(16px);background:linear-gradient(145deg,#fffc 0%,#f8fafcb3 100%);border:1px solid #9333ea1f;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:16px;display:flex;box-shadow:0 8px 32px #9333ea14,0 4px 16px #0000000a,inset 0 1px #fff9}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSection{background:linear-gradient(145deg,#1e2734cc 0%,#141923b3 100%);border-color:#9333ea40;box-shadow:0 8px 32px #9333ea26,0 4px 16px #0000001a,inset 0 1px #ffffff1a}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSlider{justify-content:center;width:100%;display:flex;position:relative}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSwiper{align-items:center;width:100%;min-height:100px;padding:8px 0;display:flex}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSwiper .swiper-wrapper{align-items:center;width:100%;display:flex;justify-content:center!important}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSwiper .swiper-slide{flex-shrink:0;justify-content:center;align-items:center;transition:all .4s cubic-bezier(.23,1,.32,1);display:flex;width:auto!important}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSwiper .swiper-slide-thumb-active{transform:scale(1.08)}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailWrapper{background:linear-gradient(145deg,#f8fafc 0%,#e2e8f0 100%);border-radius:12px;justify-content:center;align-items:center;transition:all .4s cubic-bezier(.23,1,.32,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #9333ea1f,0 2px 8px #0000000f,inset 0 1px #fffc}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__thumbnailWrapper{background:linear-gradient(145deg,#1e293b 0%,#0f172a 100%);box-shadow:0 4px 16px #9333ea33,0 2px 8px #0000001a,inset 0 1px #ffffff1a}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailWrapper:hover{transform:scale(1.12);box-shadow:0 8px 32px #9333ea40,0 4px 16px #00000014,inset 0 1px #ffffffe6}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__thumbnailWrapper:hover{box-shadow:0 8px 32px #9333ea59,0 4px 16px #00000026,inset 0 1px #ffffff26}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailWrapper:before{content:"";opacity:0;z-index:1;background:linear-gradient(135deg,#9333ea26 0%,#3b82f626 100%);border-radius:16px;transition:opacity .4s;position:absolute;inset:0}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailWrapper:hover:before{opacity:1}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnail{object-fit:cover;cursor:pointer;z-index:2;border:2px solid #0000;border-radius:12px;width:80px;height:60px;transition:all .4s cubic-bezier(.23,1,.32,1);display:block;position:relative}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnail:hover{border-color:#7c3aed;transform:scale(1.05)}.swiper-slide-thumb-active .ProjectDetailModal-module-scss-module__yKtXgq__thumbnail{border-width:2px;border-color:#7c3aed;box-shadow:0 0 0 2px #9333ea4d,0 6px 20px #9333ea66,0 3px 12px #0000001a}html[data-theme=dark] .swiper-slide-thumb-active .ProjectDetailModal-module-scss-module__yKtXgq__thumbnail{box-shadow:0 0 0 2px #9333ea66,0 6px 20px #9333ea80,0 3px 12px #0003}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailNavButton{-webkit-backdrop-filter:blur(12px);color:#7c3aed;cursor:pointer;z-index:5;background:linear-gradient(145deg,#fffffff2 0%,#f8fafce6 100%);border:1px solid #9333ea2e;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .4s cubic-bezier(.23,1,.32,1);display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 6px 20px #9333ea2e,0 2px 8px #0000000f,inset 0 1px #fffc}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__thumbnailNavButton{color:#a855f7;background:linear-gradient(145deg,#334155f2 0%,#1e2734e6 100%);border-color:#9333ea59;box-shadow:0 6px 20px #9333ea40,0 2px 8px #0000001a,inset 0 1px #ffffff1a}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailNavButton:hover{color:#6d28d9;background:linear-gradient(145deg,#f8fafcfa 0%,#fffffff2 100%);transform:translateY(-50%)scale(1.15);box-shadow:0 10px 30px #9333ea4d,0 4px 12px #00000014,inset 0 1px #ffffffe6}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__thumbnailNavButton:hover{color:#9333ea;background:linear-gradient(145deg,#475569fa 0%,#334155f2 100%);box-shadow:0 10px 30px #9333ea66,0 4px 12px #00000026,inset 0 1px #ffffff26}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailNavButton:active{transform:translateY(-50%)scale(.95)}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailNavButton.ProjectDetailModal-module-scss-module__yKtXgq__prevThumbButton{left:-10px}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailNavButton.ProjectDetailModal-module-scss-module__yKtXgq__nextThumbButton{right:-10px}.ProjectDetailModal-module-scss-module__yKtXgq__detailsSection{background:linear-gradient(145deg,#fffffff2 0%,#f8fafce6 100%);border-radius:0 28px 28px 0;flex-direction:column;gap:32px;padding:3rem 4.2rem 32px 32px;display:flex;position:relative;overflow-y:auto}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__detailsSection{background:linear-gradient(145deg,#1e2734f2 0%,#141923e6 100%)}.ProjectDetailModal-module-scss-module__yKtXgq__detailsSection:before{content:"";pointer-events:none;background:linear-gradient(135deg,#9333ea05 0%,#3b82f605 100%);position:absolute;inset:0}.ProjectDetailModal-module-scss-module__yKtXgq__detailsSection::-webkit-scrollbar{width:6px}.ProjectDetailModal-module-scss-module__yKtXgq__detailsSection::-webkit-scrollbar-track{background:0 0}.ProjectDetailModal-module-scss-module__yKtXgq__detailsSection::-webkit-scrollbar-thumb{background:#9333ea4d;border-radius:3px}.ProjectDetailModal-module-scss-module__yKtXgq__detailsSection::-webkit-scrollbar-thumb:hover{background:#9333ea80}.ProjectDetailModal-module-scss-module__yKtXgq__projectHeader{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ProjectDetailModal-module-scss-module__yKtXgq__projectTitle{color:#1e293b;background:linear-gradient(135deg,#1e293b 0%,#7c3aed 100%);-webkit-text-fill-color:#0000;background-clip:text;margin:0;font-size:2.5rem;font-weight:700;line-height:1.2}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__projectTitle{background:linear-gradient(135deg,#e2e8f0 0%,#a855f7 100%);-webkit-text-fill-color:#0000;background-clip:text}.ProjectDetailModal-module-scss-module__yKtXgq__projectBadge{color:#7c3aed;white-space:nowrap;background:#9333ea1a;border:1px solid #9333ea33;border-radius:24px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;display:flex}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__projectBadge{color:#a855f7;background:#9333ea33;border-color:#9333ea4d}.ProjectDetailModal-module-scss-module__yKtXgq__description h3{color:#334155;align-items:center;gap:12px;margin:0 0 16px;font-size:1.5rem;font-weight:600;display:flex}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__description h3{color:#e2e8f0}.ProjectDetailModal-module-scss-module__yKtXgq__description h3 svg{color:#7c3aed;flex-shrink:0}.ProjectDetailModal-module-scss-module__yKtXgq__description p{color:#64748b;margin:0;font-size:1.1rem;line-height:1.7}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__description p{color:#94a3b8}.ProjectDetailModal-module-scss-module__yKtXgq__technologies h3{color:#334155;align-items:center;gap:12px;margin:0 0 20px;font-size:1.5rem;font-weight:600;display:flex}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__technologies h3{color:#e2e8f0}.ProjectDetailModal-module-scss-module__yKtXgq__technologies h3 svg{color:#7c3aed;flex-shrink:0}.ProjectDetailModal-module-scss-module__yKtXgq__techList{flex-wrap:wrap;gap:12px;display:flex}.ProjectDetailModal-module-scss-module__yKtXgq__techTag{color:#fff;white-space:nowrap;background:linear-gradient(135deg,#7c3aed 0%,#6d28d9 100%);border:1px solid #fff3;border-radius:24px;padding:12px 18px;font-size:14px;font-weight:600;transition:all .3s;box-shadow:0 6px 20px #9333ea4d}.ProjectDetailModal-module-scss-module__yKtXgq__techTag:hover{transform:translateY(-2px);box-shadow:0 10px 30px #9333ea66}.ProjectDetailModal-module-scss-module__yKtXgq__links h3{color:#334155;align-items:center;gap:12px;margin:0 0 20px;font-size:1.5rem;font-weight:600;display:flex}html[data-theme=dark] .ProjectDetailModal-module-scss-module__yKtXgq__links h3{color:#e2e8f0}.ProjectDetailModal-module-scss-module__yKtXgq__links h3 svg{color:#7c3aed;flex-shrink:0}.ProjectDetailModal-module-scss-module__yKtXgq__linkButtons{flex-wrap:wrap;gap:16px;display:flex}.ProjectDetailModal-module-scss-module__yKtXgq__linkButton{text-align:center;-webkit-backdrop-filter:blur(8px);border:2px solid;border-radius:16px;justify-content:center;align-items:center;gap:8px;min-width:140px;padding:14px 28px;font-size:16px;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.23,1,.32,1);display:flex}.ProjectDetailModal-module-scss-module__yKtXgq__linkButton.ProjectDetailModal-module-scss-module__yKtXgq__liveButton{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-color:#10b981;box-shadow:0 6px 20px #10b9814d}.ProjectDetailModal-module-scss-module__yKtXgq__linkButton.ProjectDetailModal-module-scss-module__yKtXgq__liveButton:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%);transform:translateY(-2px);box-shadow:0 10px 30px #10b98166}.ProjectDetailModal-module-scss-module__yKtXgq__linkButton.ProjectDetailModal-module-scss-module__yKtXgq__githubButton{color:#fff;background:linear-gradient(135deg,#374151 0%,#1f2937 100%);border-color:#374151;box-shadow:0 6px 20px #3741514d}.ProjectDetailModal-module-scss-module__yKtXgq__linkButton.ProjectDetailModal-module-scss-module__yKtXgq__githubButton:hover{background:linear-gradient(135deg,#1f2937 0%,#111827 100%);transform:translateY(-2px);box-shadow:0 10px 30px #37415166}.ProjectDetailModal-module-scss-module__yKtXgq__linkButton:active{transform:translateY(0)}@media (max-width:1024px){.ProjectDetailModal-module-scss-module__yKtXgq__content{grid-template-rows:1fr auto;grid-template-columns:1fr}.ProjectDetailModal-module-scss-module__yKtXgq__imageSection{border-radius:28px 28px 0 0}.ProjectDetailModal-module-scss-module__yKtXgq__detailsSection{border-radius:0 0 28px 28px}.ProjectDetailModal-module-scss-module__yKtXgq__mainImageContainer{height:50vh}.ProjectDetailModal-module-scss-module__yKtXgq__projectTitle{font-size:2rem}}@media (max-width:767px){.ProjectDetailModal-module-scss-module__yKtXgq__overlay{padding:10px;padding-top:calc(70px + var(--safe-area-top,0px) + 10px)}.ProjectDetailModal-module-scss-module__yKtXgq__modal{border-radius:20px;width:100vw;height:100vh}.ProjectDetailModal-module-scss-module__yKtXgq__content{border-radius:20px}.ProjectDetailModal-module-scss-module__yKtXgq__imageSection,.ProjectDetailModal-module-scss-module__yKtXgq__detailsSection{border-radius:20px 20px 0 0;padding:24px}.ProjectDetailModal-module-scss-module__yKtXgq__imageSection{padding-top:max(24px,env(safe-area-inset-top) + 12px)}.ProjectDetailModal-module-scss-module__yKtXgq__detailsSection{border-radius:0 0 20px 20px}.ProjectDetailModal-module-scss-module__yKtXgq__mainImageContainer{height:40vh}.ProjectDetailModal-module-scss-module__yKtXgq__projectTitle{font-size:1.8rem}.ProjectDetailModal-module-scss-module__yKtXgq__projectHeader{flex-direction:column;align-items:flex-start;gap:12px}.ProjectDetailModal-module-scss-module__yKtXgq__linkButtons{flex-direction:column;gap:12px}.ProjectDetailModal-module-scss-module__yKtXgq__linkButton{width:100%;min-width:0}.ProjectDetailModal-module-scss-module__yKtXgq__closeButton{top:max(16px,env(safe-area-inset-top) + 12px);width:48px;height:48px;right:16px}.ProjectDetailModal-module-scss-module__yKtXgq__navButton{width:48px;height:48px}.ProjectDetailModal-module-scss-module__yKtXgq__navButton.ProjectDetailModal-module-scss-module__yKtXgq__prevButton{left:16px}.ProjectDetailModal-module-scss-module__yKtXgq__navButton.ProjectDetailModal-module-scss-module__yKtXgq__nextButton{right:16px}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnail{width:65px;height:48px}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSwiper{width:100%}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSwiper .swiper-wrapper{align-items:center;width:100%;display:flex;justify-content:center!important}}@media (max-width:600px){.ProjectDetailModal-module-scss-module__yKtXgq__overlay{padding:0}.ProjectDetailModal-module-scss-module__yKtXgq__modal{width:100vw;height:calc(var(--vh,1vh)*100);border-radius:0}.ProjectDetailModal-module-scss-module__yKtXgq__content{height:calc(var(--vh,1vh)*100);border-radius:0;flex-direction:column;display:flex}.ProjectDetailModal-module-scss-module__yKtXgq__imageSection{padding:16px;padding-top:max(16px,env(safe-area-inset-top) + 8px);border-radius:0;flex:none}.ProjectDetailModal-module-scss-module__yKtXgq__mainImageContainer{border-radius:16px;height:35vh}.ProjectDetailModal-module-scss-module__yKtXgq__detailsSection{border-radius:0;flex:auto;gap:24px;padding:16px}.ProjectDetailModal-module-scss-module__yKtXgq__projectTitle{font-size:1.5rem}.ProjectDetailModal-module-scss-module__yKtXgq__description h3,.ProjectDetailModal-module-scss-module__yKtXgq__technologies h3,.ProjectDetailModal-module-scss-module__yKtXgq__links h3{font-size:1.2rem}.ProjectDetailModal-module-scss-module__yKtXgq__techTag{padding:10px 14px;font-size:12px}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnail{width:55px;height:40px}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSection{gap:8px;padding:12px}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSwiper{width:100%;min-height:70px;padding:4px 0}.ProjectDetailModal-module-scss-module__yKtXgq__thumbnailSwiper .swiper-wrapper{align-items:center;width:100%;display:flex;justify-content:center!important}.ProjectDetailModal-module-scss-module__yKtXgq__closeButton{top:max(12px,env(safe-area-inset-top) + 8px);width:44px;height:44px;right:12px}.ProjectDetailModal-module-scss-module__yKtXgq__navButton{width:44px;height:44px}.ProjectDetailModal-module-scss-module__yKtXgq__navButton.ProjectDetailModal-module-scss-module__yKtXgq__prevButton{left:12px}.ProjectDetailModal-module-scss-module__yKtXgq__navButton.ProjectDetailModal-module-scss-module__yKtXgq__nextButton{right:12px}}.ProjectDetailModal-module-scss-module__yKtXgq__scrollDownArrow{z-index:10;opacity:1;pointer-events:none;color:#7c3aed;filter:drop-shadow(0 2px 8px #9333ea4d);transition:opacity .3s;animation:1.5s infinite ProjectDetailModal-module-scss-module__yKtXgq__bounce;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.ProjectDetailModal-module-scss-module__yKtXgq__scrollDownArrowHidden{opacity:0}@keyframes ProjectDetailModal-module-scss-module__yKtXgq__bounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(10px)}}.ProjectDetailModal-module-scss-module__yKtXgq__fullScreenOverlay{-webkit-backdrop-filter:blur(8px);z-index:9999;background:#000000f2;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.3s ProjectDetailModal-module-scss-module__yKtXgq__fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes ProjectDetailModal-module-scss-module__yKtXgq__fadeIn{0%{opacity:0}to{opacity:1}}.ProjectDetailModal-module-scss-module__yKtXgq__fullScreenImage{object-fit:contain;border-radius:20px;max-width:90vw;max-height:90vh;box-shadow:0 25px 60px #00000080}.ProjectDetailModal-module-scss-module__yKtXgq__fullScreenCloseButton{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:10000;background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;display:flex;position:absolute;top:24px;right:32px}.ProjectDetailModal-module-scss-module__yKtXgq__fullScreenCloseButton:hover{background:#fff3;transform:scale(1.05)}@media (max-width:600px){.ProjectDetailModal-module-scss-module__yKtXgq__fullScreenCloseButton{width:44px;height:44px;top:16px;right:16px}.ProjectDetailModal-module-scss-module__yKtXgq__fullScreenImage{max-width:95vw;max-height:80vh}}.ProjectDetailModal-module-scss-module__yKtXgq__mainSwiper{border-radius:20px;width:100%;height:100%}:is(.ProjectDetailModal-module-scss-module__yKtXgq__mainSwiper .swiper-button-next,.ProjectDetailModal-module-scss-module__yKtXgq__mainSwiper .swiper-button-prev){display:none!important}.ProjectDetailModal-module-scss-module__yKtXgq__thumbsSwiper{width:100%}.ProjectDetailModal-module-scss-module__yKtXgq__thumbsSwiper .swiper-slide{width:auto!important}
:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
