body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body{background:#fff;color:#2d3748;font-family:Pretendard,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;overflow-x:hidden}.container{padding:0 20px}.header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:2px solid #ffd7001a;border-radius:50px;box-shadow:0 8px 32px #ffd70033;left:50%;padding:1rem 2rem;position:fixed;top:20px;transform:translateX(-50%);transition:all .3s ease;z-index:1000}.header:hover{box-shadow:0 12px 40px #ffd7004d;transform:translateX(-50%) translateY(-2px)}.nav-container{align-items:center;display:flex;gap:2rem;justify-content:space-between;width:100%}.logo-text{color:#2d3748;font-size:1.5rem;font-weight:800;letter-spacing:-.5px;position:relative}.logo-text:after{animation:sparkle 2s ease-in-out infinite;content:"✨";font-size:.8rem;position:absolute;right:-15px;top:-5px}.navigation{display:flex;flex:1 1;gap:1.5rem;justify-content:center}.header-social-links{align-items:center;display:flex;gap:.8rem}.header-social-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffd70033;border-radius:50%;color:#4a5568;display:flex;height:36px;justify-content:center;position:relative;text-decoration:none;transition:all .3s ease;width:36px}.header-social-link:hover{background:#ffd70033;border-color:#ffd70080;box-shadow:0 4px 12px #ffd7004d;transform:translateY(-2px) scale(1.1)}.header-social-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;height:20px;transition:filter .3s ease;width:20px}.header-social-link.github .header-social-icon{background-image:url(https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png)}.header-social-link.notion .header-social-icon{background-image:url(https://upload.wikimedia.org/wikipedia/commons/4/45/Notion_app_logo.png)}.header-social-link.velog .header-social-icon{background-image:url(https://images.icon-icons.com/3915/PNG/512/velog_logo_icon_249278.png)}.header-social-link:hover .header-social-icon{filter:brightness(1.2)}.nav-link{background:#0000;border:none;border-radius:25px;color:#4a5568;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;padding:.8rem 1.2rem;position:relative;transition:all .3s ease}.nav-link:hover{background:#ffd7001a;color:#2d3748;transform:translateY(-2px)}@media (max-width:768px){.nav-container,.navigation{gap:1rem}.header-social-links{gap:.5rem}.header-social-link{height:32px;width:32px}.header-social-icon{height:16px;width:16px}}@media (max-width:480px){.header-social-links{display:none}.navigation{justify-content:flex-end}}.social-links{display:flex;flex-direction:column;gap:1.5rem;position:fixed;right:40px;top:50%;transform:translateY(-50%);z-index:100}.social-link{align-items:center;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffffff2;border:3px solid #ffd70033;border-radius:50%;box-shadow:0 8px 32px #ffd70026;color:#4a5568;display:flex;height:60px;justify-content:center;position:relative;text-decoration:none;transition:all .4s ease;width:60px}.social-link:hover{background:gold;border-color:gold;box-shadow:0 15px 40px #ffd70066;color:#2d3748;transform:translateY(-5px) scale(1.15)}.social-link:before{background:linear-gradient(45deg,gold,#f6ad55);border-radius:50%;bottom:-3px;content:"";left:-3px;opacity:0;position:absolute;right:-3px;top:-3px;transition:opacity .3s ease;z-index:-1}.social-link:hover:before{opacity:1}.social-icon{font-size:1.5rem;transition:filter .3s ease}.projects-title{color:#2d3748;font-size:2.5rem;font-weight:800;margin-bottom:3rem;position:relative;text-align:center}.projects-title:before{content:"💻";font-size:2rem;left:-3rem;position:absolute;top:50%;transform:translateY(-50%)}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.project-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px solid #ffd7001a;border-radius:20px;color:inherit;cursor:pointer;overflow:hidden;position:relative;text-decoration:none;transition:all .4s ease}.project-card:hover{border-color:#ffd7004d;box-shadow:0 20px 60px #ffd70033;transform:translateY(-10px) scale(1.02)}.project-number{align-items:center;background:linear-gradient(135deg,gold,#f6ad55);border-radius:50%;color:#2d3748;display:flex;font-size:.9rem;font-weight:700;height:30px;justify-content:center;left:1rem;position:absolute;top:1rem;width:30px;z-index:2}.project-image{background:#fff;height:200px;overflow:hidden;position:relative}.project-image img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.project-card:hover .project-image img{transform:scale(1.1)}.project-info{padding:1.5rem}.project-info h3{color:#2d3748;font-size:1.3rem;font-weight:700;margin-bottom:.8rem}.project-info p{color:#4a5568;font-size:.95rem;line-height:1.6;margin-bottom:1rem}.placeholder-project-image{align-items:center;color:#666;display:flex;font-size:1.1rem;font-weight:600;height:100%;justify-content:center;width:100%}.quick-about{background-color:#f8f9fa;padding:5rem 0}.about-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.about-card{background-color:#fff;border:1px solid #f0f0f0;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:2rem;text-align:center;transition:all .3s ease}.about-card:hover{border-color:gold;box-shadow:0 10px 25px #00000026;transform:translateY(-5px)}.card-icon{font-size:3rem;margin-bottom:1rem}.about-card h3{color:#1a1a1a;font-size:1.5rem;margin-bottom:1rem}.about-card p{color:#666;line-height:1.6}.about-section{align-items:center;background:#fff;display:flex;min-height:100vh;opacity:0;padding:6rem 0;transform:translateY(50px);transition:all .8s ease-out}.about-section.visible{opacity:1;transform:translateY(0)}.about-layout{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:1fr 2fr}.profile-card{background:#fff;border:1px solid #e2e8f0cc;border-radius:20px;box-shadow:0 10px 40px #0000001a;opacity:0;padding:2.5rem;position:-webkit-sticky;position:sticky;top:8rem;transform:translateX(-50px);transition:all .8s ease-out .2s}.profile-card.visible{opacity:1;transform:translateX(0)}.profile-header{text-align:center}.name-korean{color:#1e293b;font-size:1.8rem;font-weight:700;line-height:1.3;margin-bottom:1.5rem}.contact-info{margin-top:1.5rem}.contact-info p{color:#64748b;font-size:.95rem;margin:.5rem 0}.about-details{background:#fff;border:1px solid #e2e8f0cc;border-radius:20px;box-shadow:0 10px 40px #0000001a;opacity:0;padding:3rem;transform:translateX(50px);transition:all .8s ease-out .4s}.about-details.visible{opacity:1;transform:translateX(0)}.about-intro{margin-bottom:3rem}.section-title{color:#1e293b;font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:.5rem;position:relative}.section-title:after{background:#fff;border-radius:2px;bottom:0;content:"";height:3px;left:0;position:absolute;width:50px}.intro-text{color:#475569;line-height:1.7}.intro-text ul{list-style:none;padding:0}.intro-text li{color:#475569;line-height:1.6;margin-bottom:.8rem;padding-left:1.5rem;position:relative}.intro-text li:before{color:#000;content:"✓";font-size:1.1rem;font-weight:700;left:0;position:absolute}.experience-section{margin-bottom:3rem;opacity:0;transform:translateY(30px);transition:all .6s ease-out .6s}.experience-section.visible{opacity:1;transform:translateY(0)}.education-section{margin-bottom:3rem;opacity:0;transform:translateY(30px);transition:all .6s ease-out .8s}.education-section.visible{opacity:1;transform:translateY(0)}.credential-section{margin-bottom:3rem;opacity:0;transform:translateY(30px);transition:all .6s ease-out 1s}.credential-section.visible{opacity:1;transform:translateY(0)}.timeline h4{color:#000;font-weight:600;margin-bottom:1rem}.education-list,.experience-list{list-style:none;padding:0}.education-list li,.experience-list li{align-items:center;background:#f8fafc;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:.8rem;padding:1rem}.period{color:#64748b;font-size:.9rem;font-weight:500}.credentials-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.credential-item{background:#f8fafc;border:2px solid #0000;border-radius:8px;color:#475569;font-weight:500;padding:1rem 1.5rem;text-align:center;transition:all .3s ease}.credential-item.highlight{background:linear-gradient(135deg,gold,#f6ad55);color:#fff;font-weight:600}.credential-item:hover{box-shadow:0 4px 15px #3b82f64d;transform:translateY(-2px)}.footer{background-color:#1a1a1a;color:#fff;padding:2rem 0;text-align:center}section[id]{scroll-margin-top:120px}@keyframes sparkle{0%,to{opacity:1;transform:scale(1) rotate(0deg)}50%{opacity:.8;transform:scale(1.2) rotate(180deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes leafFloat{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-10px) rotate(5deg)}50%{transform:translateY(-5px) rotate(-5deg)}75%{transform:translateY(-15px) rotate(3deg)}}@keyframes starfield{0%{transform:translateY(0)}to{transform:translateY(-60px)}}@media (max-width:768px){.header{border-radius:0;left:auto}.header,.social-links{position:relative;top:auto;transform:none}.social-links{flex-direction:row;gap:1rem;justify-content:center;margin-top:2rem;right:auto}.social-link{height:50px;position:relative;width:50px}.projects-title:before{display:none}.about-layout,.projects-grid{grid-template-columns:1fr}.about-layout{gap:2rem}.profile-card{order:2;padding:2rem;position:static}.about-details{order:1;padding:2rem}.name-korean{font-size:1.5rem}.credentials-grid{grid-template-columns:1fr}.profile-card{transition-delay:.1s}.about-details{transition-delay:.2s}.experience-section{transition-delay:.3s}.education-section{transition-delay:.4s}.credential-section{transition-delay:.5s}}.hero-main-section{align-items:center;margin-top:120px;min-height:100vh;overflow:hidden;padding-left:160px;position:relative}.hero-project-link{color:inherit;display:block;text-decoration:none}.hero-main-container{grid-gap:7rem;align-items:center;display:grid;gap:7rem;grid-template-columns:1fr 300px 300px;margin:10px;max-width:1200px;padding:0 20px;position:relative;z-index:2}.hero-dev-stats-card,.hero-main-content,.hero-main-image{opacity:0;transform:translateY(30px);transition:all .8s ease-out}.hero-main-content.visible{animation:slideInLeft .8s ease-out;opacity:1;transform:translateY(0)}.hero-main-image.visible{animation:slideInRight .8s ease-out .2s both;opacity:1;transform:translateY(0)}.hero-dev-stats-card.visible{animation:slideInRight .8s ease-out .4s both;opacity:1;transform:translateY(0)}.hero-main-badge{align-items:center;background:#ffd70026;border:1px solid #ffd7004d;border-radius:25px;color:#d69e2e;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem}.hero-main-title{color:#2d3748;font-size:3.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:1.5rem}.hero-main-title .emoji{font-size:1.2em;margin:0 .2em}.hero-highlight{color:#d69e2e;display:inline-block;position:relative}.hero-highlight:after{background:#ffd7004d;border-radius:4px;bottom:2px;content:"";height:8px;left:0;position:absolute;width:100%;z-index:-1}.hero-main-description{color:#4a5568;font-size:1.2rem;line-height:1.7;margin-bottom:2.5rem}.hero-main-buttons{display:flex;gap:1rem;margin-bottom:3rem}.hero-btn-primary,.hero-btn-secondary{border:2px solid #0000;border-radius:50px;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.hero-btn-primary{background:linear-gradient(135deg,gold,#f6ad55);border-color:gold;box-shadow:0 4px 20px #ffd7004d;color:#2d3748}.hero-btn-primary:hover{box-shadow:0 8px 30px #ffd70066;transform:translateY(-3px)}.hero-btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:gold;border-color:#ffd7004d;color:#2d3748}.hero-btn-secondary:hover{background:#ffd7001a;transform:translateY(-3px)}.hero-main-image{align-items:center;display:flex;justify-content:center}.hero-main-image,.hero-profile-container{position:relative}.hero-profile-image{border:4px solid #fff;border-radius:50%;box-shadow:0 20px 60px #ffd7004d;height:280px;object-fit:cover;position:relative;transition:all .3s ease;width:280px;z-index:2}.hero-profile-image:hover{box-shadow:0 25px 80px #ffd70066;transform:scale(1.05) rotate(2deg)}.hero-placeholder-image{align-items:center;background:linear-gradient(135deg,gold,#f6ad55);box-shadow:0 20px 60px #ffd7004d;color:#2d3748;display:flex;font-size:1.2rem;font-weight:700;justify-content:center;position:relative}.hero-placeholder-image,.hero-real-profile-image{border:4px solid #fff;border-radius:50%;height:280px;width:280px}.hero-real-profile-image{box-shadow:0 25px 80px #ffd70066;left:0;object-fit:cover;opacity:0;position:absolute;top:0;transform:scale(.9);transition:all .4s ease;z-index:20}.hero-profile-container:hover .hero-real-profile-image{opacity:1;transform:scale(1.05)}.hero-profile-decoration{animation:heroBounce 2s ease-in-out infinite;font-size:2rem;position:absolute;right:-20px;top:-20px;z-index:3}.hero-dev-stats-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid #ffd70033;border-radius:20px;box-shadow:0 15px 40px #ffd70026;padding:2rem;position:relative}.hero-dev-stats-card:before{background:linear-gradient(90deg,gold,#f6ad55,gold);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.hero-stats-header{align-items:center;border-bottom:2px solid #ffd7001a;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.hero-stats-title{color:#2d3748;font-size:1.2rem;font-weight:800}.hero-stats-level{background:linear-gradient(135deg,gold,#f6ad55);border-radius:15px;box-shadow:0 2px 8px #ffd7004d;color:#2d3748;font-size:.8rem;font-weight:700;padding:.3rem .8rem}.hero-stat-item{margin-bottom:1.2rem}.hero-stat-label{align-items:center;color:#4a5568;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:.5rem}.hero-stat-icon{font-size:1.1rem}.hero-stat-bar{align-items:center;background:#ffd7001a;display:flex;height:12px}.hero-stat-bar,.hero-stat-fill{border-radius:10px;overflow:hidden;position:relative}.hero-stat-fill{height:100%;transition:width 2s ease-out}.hero-stat-fill:first-child{animation:heroFillAnimation 2s ease-out 1s both;background:linear-gradient(90deg,#ff6b6b,gold)}.hero-stat-fill.infinite{animation:heroPulse 2s ease-in-out infinite;background:linear-gradient(90deg,#8b5cf6,gold)}.hero-stat-fill.warm{animation:heroGlow 2s ease-in-out infinite;background:linear-gradient(90deg,#ff6b6b,#ff8e8e)}.hero-stat-fill.growth{animation:heroGrow 3s ease-out 2s both;background:linear-gradient(90deg,#20c997,#17a085)}.hero-stat-value{color:#2d3748;font-size:.7rem;font-weight:700;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:2}.hero-stats-footer{border-top:2px solid #ffd7001a;margin-top:1.5rem;padding-top:1rem}.hero-current-goal{align-items:center;color:#4a5568;display:flex;font-size:.85rem;gap:.5rem;line-height:1.4;text-align:center}.hero-goal-icon{animation:heroSparkle 2s ease-in-out infinite;font-size:1rem}.hero-enhanced-journey-section{padding:6rem 0;position:relative}.hero-enhanced-journey-section:before{background:linear-gradient(180deg,#0000,#ffd7000d);content:"";left:0;position:absolute;right:0;top:0}.hero-journey-container{margin:0 auto;max-width:1200px;padding:0 20px}.hero-journey-title{color:#2d3748;font-size:2.5rem;font-weight:800;margin-bottom:3rem;opacity:0;position:relative;text-align:center;transform:translateY(30px);transition:all .8s ease-out}.hero-journey-title.visible{opacity:1;transform:translateY(0)}.hero-journey-title:before{left:-3rem}.hero-journey-title:after,.hero-journey-title:before{content:"";font-size:2rem;position:absolute;top:50%;transform:translateY(-50%)}.hero-journey-title:after{right:-3rem}.hero-enhanced-timeline{margin:0 auto;max-width:1000px;position:relative}.hero-enhanced-timeline:before{background:linear-gradient(180deg,gold,#f6ad55);border-radius:3px;bottom:0;box-shadow:0 0 20px #ffd7004d;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:6px}.hero-timeline-item{margin-bottom:4rem;opacity:0;position:relative;transform:translateY(50px);transition:all .8s ease-out}.hero-timeline-item.visible{opacity:1;transform:translateY(0)}.hero-timeline-content{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border:2px solid #ffd7001a;border-radius:20px;box-shadow:0 10px 40px #0000001a;padding:2rem;position:relative;width:45%}.hero-enhanced-timeline>:nth-child(odd) .hero-timeline-content{margin-left:0}.hero-enhanced-timeline>:nth-child(2n) .hero-timeline-content{margin-left:auto}.hero-timeline-content:before{border:15px solid #0000;content:"";height:0;position:absolute;top:30px;width:0}.hero-enhanced-timeline>:nth-child(odd) .hero-timeline-content:before{border-left-color:#ffffffe6;border-right-color:#0000;right:-30px}.hero-enhanced-timeline>:nth-child(2n) .hero-timeline-content:before{border-left-color:#0000;border-right-color:#ffffffe6;left:-30px}.hero-timeline-item[data-type=project] .hero-timeline-content{background:linear-gradient(135deg,#61dafb1a,#fffffff2);border-left:4px solid #61dafb}.hero-timeline-item[data-type=learning] .hero-timeline-content{border-left:4px solid gold}.hero-timeline-item[data-type=experience] .hero-timeline-content{border-left:4px solid #ff6b6b}.hero-timeline-item[data-type=future] .hero-timeline-content{border-left:4px solid #20c997}.hero-timeline-icon{align-items:center;background:linear-gradient(135deg,gold,#f6ad55);border:4px solid #fff;border-radius:50%;box-shadow:0 8px 25px #ffd7004d;color:#2d3748;display:flex;font-size:1.5rem;height:60px;justify-content:center;left:50%;position:absolute;top:20px;transform:translateX(-50%);width:60px;z-index:2}.hero-timeline-date{color:#d69e2e;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.hero-timeline-title{color:#2d3748;font-size:1.3rem;font-weight:700;margin-bottom:1rem}.hero-timeline-description{color:#4a5568;line-height:1.6}.hero-project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.hero-tag{background:#ffd70026;border:1px solid #ffd70033;border-radius:15px;color:#d69e2e;font-size:.8rem;font-weight:600;padding:.3rem .8rem}.hero-project-timeline-item{cursor:pointer;transition:all .3s ease}.hero-project-timeline-item:hover{transform:translateY(-5px)}.hero-project-timeline-item:hover .hero-timeline-content{border-color:#ffd70066;box-shadow:0 15px 50px #ffd7004d}.hero-click-hint{color:#d69e2e;font-size:.8rem;font-weight:500;opacity:.8}.hero-tech-stack-section{align-items:center;background-color:#fff;display:flex;min-height:60vh;padding:80px 20px}.hero-tech-stack-container{margin:0 auto;max-width:1200px;text-align:center}.hero-tech-section-title{color:#2c3e50;font-size:3rem;font-weight:700;margin-bottom:16px;opacity:0;transform:translateY(30px);transition:all .8s ease-out}.hero-tech-section-title.visible{opacity:1;transform:translateY(0)}.hero-tech-section-subtitle{color:#7f8c8d;font-size:1.2rem;margin-bottom:60px;opacity:0;transform:translateY(20px);transition:all .8s ease-out .2s}.hero-tech-section-subtitle.visible{opacity:1;transform:translateY(0)}.hero-tech-stack-grid{grid-gap:40px;display:grid;gap:40px;margin:0 auto;max-width:800px}.hero-tech-category{opacity:0;transform:translateY(30px);transition:all .8s ease-out}.hero-tech-category.visible{opacity:1;transform:translateY(0)}.hero-tech-category h3{color:#34495e;font-size:1.5rem;font-weight:600;margin-bottom:20px;text-align:left}.hero-tech-badges-container{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start}.hero-tech-badge{align-items:center;border-radius:20px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;margin:4px;opacity:0;padding:8px 16px;transform:translateY(20px);transition:all .3s ease}.hero-tech-badge.visible{opacity:1;transform:translateY(0)}.hero-tech-badge:hover{box-shadow:0 4px 12px #00000026!important;transform:translateY(-2px)!important}.hero-tech-badge span:first-child{font-size:16px}.hero-award-image{margin-top:15px;text-align:center}.hero-award-preview{border-radius:8px;box-shadow:0 4px 8px #0000001a;cursor:pointer;display:inline-block;overflow:hidden;position:relative;transition:transform .3s ease}.hero-award-preview:hover{transform:scale(1.02)}.hero-award-certificate-preview{display:block;height:160px;object-fit:cover;object-position:center top;width:120px}.hero-award-overlay{background:linear-gradient(#0000,#000000b3);bottom:0;color:#fff;left:0;opacity:0;padding:8px;position:absolute;right:0;transition:opacity .3s ease}.hero-award-preview:hover .hero-award-overlay{opacity:1}.hero-award-zoom-text{font-size:12px;font-weight:500}.hero-modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.hero-modal-content{animation:zoomIn .3s ease;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:90vw;padding:20px;position:relative}.hero-modal-close{background:none;border:none;color:#666;cursor:pointer;font-size:24px;position:absolute;right:15px;top:10px;z-index:1001}.hero-modal-close:hover{color:#000}.hero-modal-image{border-radius:8px;max-height:70vh;max-width:100%;object-fit:contain}.hero-modal-caption{color:#333;font-weight:600;margin-top:15px;text-align:center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes heroSparkle{0%,to{opacity:1;transform:scale(1) rotate(0deg)}50%{opacity:.8;transform:scale(1.2) rotate(180deg)}}@keyframes heroFillAnimation{0%{width:0}to{width:100%}}@keyframes heroPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes heroGlow{0%,to{box-shadow:0 0 5px #ff6b6b80}50%{box-shadow:0 0 15px #ff6b6bcc}}@keyframes heroGrow{0%{width:0}to{width:100%}}@keyframes heroBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.hero-main-section{margin-top:80px;padding-left:20px}.hero-main-container{gap:3rem;grid-template-columns:1fr;margin:0;text-align:center}.hero-main-title{font-size:2.5rem}.hero-main-buttons{align-items:center;flex-direction:column;gap:1rem}.hero-btn-primary,.hero-btn-secondary{max-width:280px;width:100%}.hero-placeholder-image,.hero-profile-image,.hero-real-profile-image{height:220px;width:220px}.hero-enhanced-timeline:before{left:20px}.hero-timeline-content{margin-left:60px!important;width:calc(100% - 60px)}.hero-timeline-content:before{border-left-color:#0000!important;border-right-color:#ffffffe6!important;left:-30px!important}.hero-timeline-icon{left:20px;transform:none}.hero-journey-title:after,.hero-journey-title:before{display:none}.hero-tech-stack-section{padding:60px 15px}.hero-tech-section-title{font-size:2.5rem}.hero-tech-section-subtitle{font-size:1rem;margin-bottom:40px}.hero-tech-stack-grid{gap:30px}.hero-tech-category h3{font-size:1.3rem;text-align:center}.hero-tech-badges-container{justify-content:center}.hero-tech-badge{font-size:13px;padding:6px 12px}}@media (max-width:480px){.hero-tech-section-title{font-size:2rem}.hero-tech-badge{font-size:12px;gap:6px;padding:5px 10px}.hero-tech-badge span:first-child{font-size:14px}}.my-skills-section{background-color:#f8f9fa;padding:13rem 0}.my-skills-container{margin:0 auto;max-width:1200px;padding:0 20px}.my-skills-main-title{color:#1a1a1a;font-size:2.5rem;font-weight:700;margin-bottom:2rem;text-align:center}.my-skills-header{background-color:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;margin-bottom:3rem;padding:2rem;text-align:center}.my-course-info h3{color:gold;font-size:1.3rem;font-weight:600;margin-bottom:.5rem}.my-course-info h4{color:#1a1a1a;font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.my-course-info p{color:#666;font-size:1.1rem;font-weight:500;margin:0}.my-skills-content{display:flex;flex-direction:column;gap:2.5rem}.my-skill-category{background-color:#fff;border:1px solid #e9ecef;border-radius:15px;box-shadow:0 5px 15px #0000001a;padding:2rem;transition:transform .3s ease}.my-skill-category:hover{box-shadow:0 8px 25px #00000026;transform:translateY(-3px)}.my-category-title{border-bottom:2px solid gold;color:#8b5cf6;display:inline-block;font-size:1.4rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.my-skill-items{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.my-skill-item{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:10px;padding:1.5rem;transition:all .3s ease}.my-skill-item:hover{background-color:#fff;border-color:gold;box-shadow:0 4px 12px #ffd70033;transform:translateY(-2px)}.my-skill-item h4{color:#1a1a1a;font-size:1.1rem;font-weight:600;margin-bottom:.8rem}.my-skill-item p{color:#666;font-size:.9rem;line-height:1.5;margin:0}@media (max-width:768px){.my-skills-section{padding:8rem 0}.my-skills-main-title{font-size:2rem}.my-skills-header{margin:0 1rem 2rem;padding:1.5rem}.my-course-info h4{font-size:1.2rem}.my-skill-items{grid-template-columns:1fr}.my-skill-category{margin:0 1rem;padding:1.5rem}.my-category-title{font-size:1.2rem}}@media (max-width:480px){.my-skills-section{padding:6rem 0}.my-skills-container{padding:0 15px}.my-skills-main-title{font-size:1.8rem}.my-skills-header{margin:0 .5rem 1.5rem;padding:1rem}.my-course-info h3,.my-course-info h4{font-size:1.1rem}.my-course-info p{font-size:1rem}.my-skill-category{margin:0 .5rem;padding:1rem}.my-category-title{font-size:1.1rem}.my-skill-item{padding:1rem}.my-skill-item h4{font-size:1rem}.my-skill-item p{font-size:.85rem}}*{box-sizing:border-box;margin:0;padding:0}.project-detail-page{background:#fff;color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:2rem}.back-button{align-items:center;background:#2563eb;border-radius:8px;color:#fff;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:2rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.back-button:hover{background:#1d4ed8;transform:translateY(-1px)}.project-header{background:#fff;border:1px solid #f3f4f6;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;margin-top:100px;padding:3rem 2rem;text-align:center}.mainimage{border-radius:8px;box-shadow:0 4px 12px #0000001a;height:auto;margin-bottom:2rem;max-width:500px;width:100%}.project-header h1{color:#111827;font-size:2.5rem;font-weight:700;margin-bottom:1rem}.project-period{color:#6b7280;font-size:1.1rem;font-weight:500;margin-bottom:1rem}.project-description{color:#374151;font-size:1.1rem;line-height:1.7;margin:0 auto 2rem;max-width:800px}.project-actions{margin-top:2rem}.notion-link-btn{background:#2563eb;border-radius:8px;color:#fff;display:inline-block;font-size:1rem;font-weight:600;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.notion-link-btn:hover{background:#1d4ed8;transform:translateY(-1px)}.project-video{margin:2rem 0}.project-video h3{color:#111827;font-size:1.4rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.video-container{aspect-ratio:16/9;border-radius:8px;box-shadow:0 8px 25px #00000026;margin:0 auto;max-width:900px;overflow:hidden;position:relative;width:100%}.video-container iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}section{background:#fff;border:1px solid #f3f4f6;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;padding:2.5rem}section h2{border-bottom:3px solid #2563eb;color:#111827;font-size:1.8rem;font-weight:700;margin-bottom:2rem;padding-bottom:1rem;position:relative}section h3{font-size:1.4rem;margin:1.5rem 0 1rem}section h3,section h4{color:#374151;font-weight:600}section h4{font-size:1.2rem;margin:1rem 0 .5rem}section h5{color:#374151;font-size:1.1rem;font-weight:500;margin:.8rem 0 .5rem}.project-overview{background:#fefce8;border:1px solid #fde047}.overview-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.overview-item{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:1.5rem}.overview-item strong{color:#6b7280;display:block;font-size:.9rem;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.overview-item a{color:#2563eb;text-decoration:none;word-break:break-all}.overview-item a:hover{text-decoration:underline}.tech-stack{background:#f0f9ff;border:1px solid #7dd3fc}.skills-list{display:flex;flex-wrap:wrap;gap:.8rem}.skill-tag{background:#fff;border:1px solid #0ea5e9;border-radius:6px;color:#0ea5e9;font-size:.9rem;font-weight:600;padding:.6rem 1.2rem;transition:all .3s ease}.skill-tag:hover{background:#0ea5e9;color:#fff}.tech-stack-detail{background:#f0fdf4;border:1px solid #86efac}.tech-category{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.5rem;padding:1.5rem}.tech-category h3{color:#10b981;font-size:1.3rem;margin-bottom:1rem}.tech-list{list-style:none}.tech-list li{background:#f9fafb;border-radius:6px;font-size:.95rem;margin:.5rem 0;padding:.8rem 1rem}.project-background,.project-features,.project-goals{background:#fef7ff;border:1px solid #e879f9}.project-background ul,.project-features ul,.project-goals ul{list-style:none}.project-background li,.project-features li,.project-goals li{background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000000d;margin:.8rem 0;padding:1rem 1.5rem 1rem 2.5rem;position:relative}.project-background li:before,.project-features li:before,.project-goals li:before{color:#e879f9;content:"•";font-size:1.2rem;font-weight:700;left:1rem;position:absolute}.main-features{background:#fff7ed;border:1px solid #fed7aa}.feature-section{background:#0000;border:none;border-radius:0;box-shadow:none;margin-bottom:2rem;padding:0}.feature-section h3{border-bottom:2px solid #ea580c;color:#ea580c;font-size:1.4rem;margin-bottom:1rem;padding-bottom:.5rem}.feature-description{background:#f0f9ff;border-radius:8px;font-style:italic;line-height:1.6;margin-bottom:1.5rem;padding:1.2rem}.sub-feature{background:#f9fafb;border-radius:8px;margin:1.5rem 0;padding:1.5rem}.sub-feature h4{color:#6366f1;margin-bottom:1rem}.feature-details{background:#f0fdf4;border-radius:8px;margin-top:1.5rem;padding:1.5rem}.feature-details h4,.feature-details h5{color:#10b981;margin-bottom:1rem}.calculations{background:#fefce8;border-radius:8px;margin-top:1rem;padding:1rem}.calculations ul,.feature-details ul,.feature-section ul,.sub-feature ul{list-style:none}.calculations li,.feature-details li,.feature-section li,.sub-feature li{border-bottom:1px solid #f3f4f6;padding:.6rem 0 .6rem 1.5rem;position:relative}.calculations li:last-child,.feature-details li:last-child,.feature-section li:last-child,.sub-feature li:last-child{border-bottom:none}.calculations li:before,.feature-details li:before,.feature-section li:before,.sub-feature li:before{color:#6b7280;content:"•";font-size:1.2rem;font-weight:700;left:0;position:absolute}.technology-usage{background:#ecfdf5;border:1px solid #86efac}.usage-category{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.5rem;padding:1.5rem}.usage-category h3{color:#10b981;margin-bottom:1rem}.key-technical-features{background:#fdf2f8;border:1px solid #f9a8d4}.technical-feature{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.5rem;padding:1.5rem}.technical-feature h3{color:#ec4899;margin-bottom:1rem}.apis-section{background:#fff7ed;border:1px solid #fed7aa}.api-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));list-style:none}.api-list li{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:1.2rem}.team-members{background:#eff6ff;border:1px solid #93c5fd}.members-list{display:flex;flex-direction:column;gap:1rem}.member{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;display:flex;gap:1rem;padding:1.5rem}.member-name{color:#111827;font-size:1.1rem;font-weight:600}.member-role{color:#6b7280}.portfolio-link{background:#3b82f6;border-radius:6px;color:#fff;font-size:.9rem;font-weight:600;margin-left:auto;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.portfolio-link:hover{background:#2563eb}.troubleshooting-section{background:#fef2f2;border:1px solid #fca5a5}.troubleshooting-content h3{color:#dc2626;font-size:1.5rem;margin-bottom:2rem;text-align:center}.troubleshooting-problem,.troubleshooting-result,.troubleshooting-solution{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;margin-bottom:1.5rem;padding:1.5rem}.troubleshooting-problem h4{color:#dc2626}.troubleshooting-solution h4{color:#f59e0b}.troubleshooting-result h4{color:#10b981}.cases-description{background:#f9fafb;border-radius:8px;margin-top:1rem;padding:1rem}.cases-description ol{padding-left:1.5rem}.cases-description li{background:#fff;border-radius:6px;font-family:Courier New,monospace;font-size:.9rem;margin:.5rem 0;padding:.8rem}.project-architecture{background:#f0fdf4;border:1px solid #86efac}.architecture-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.architecture-item{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;padding:1.2rem}.architecture-item strong{color:#10b981;display:block;margin-bottom:.5rem}.database-design{background:#fff7ed;border:1px solid #fed7aa}.database-features h3{color:#ea580c;margin-bottom:1rem;margin-top:1.5rem}.database-features ul{list-style:none}.database-features li{background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000000d;margin:.5rem 0;padding:1rem 1rem 1rem 2rem;position:relative}.database-features li:before{color:#ea580c;content:"•";font-weight:700;left:.7rem;position:absolute}.challenges{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;padding:2rem}.outcome{background:#f0fdf4;border:1px solid #86efac;border-radius:12px;padding:2rem}.challenges h2,.outcome h2{border:none;font-size:1.4rem;margin-bottom:1rem;padding:0}.challenges h2{color:#dc2626}.outcome h2{color:#10b981}.project-images{background:#f8fafc;border:1px solid #e2e8f0}.images-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.images-grid img{border-radius:8px;box-shadow:0 4px 12px #0000001a;cursor:pointer;height:auto;transition:all .3s ease;width:100%}.images-grid img:hover{box-shadow:0 8px 20px #00000026;transform:scale(1.02)}.image-modal{align-items:center;background:#000000e6;cursor:pointer;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{cursor:default;position:relative}.modal-content,.modal-image{max-height:90vh;max-width:90vw}.modal-image{border-radius:8px;box-shadow:0 20px 60px #00000080;height:auto;width:100%}.close-button{align-items:center;background:#ffffffe6;border:none;border-radius:50%;color:#333;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:absolute;right:0;top:-50px;transition:all .3s ease;width:40px}.close-button:hover{background:#fff;transform:scale(1.1)}.detailImage{align-items:center;padding-left:250px;width:800px}@media (max-width:768px){.container{padding:1rem}.project-header{padding:2rem 1.5rem}.project-header h1{font-size:2rem}.mainimage{max-width:100%}section{padding:1.5rem}.api-list,.architecture-grid,.challenges-outcome,.images-grid,.overview-grid{grid-template-columns:1fr}.images-grid{gap:1.5rem}.member{align-items:flex-start;flex-direction:column;gap:.5rem}.portfolio-link{align-self:flex-end;margin-left:0}}@media (max-width:480px){.container{padding:.5rem}.project-header h1{font-size:1.8rem}.project-description{font-size:1rem}section{padding:1rem}.skill-tag{font-size:.8rem;padding:.5rem 1rem}section h2{font-size:1.5rem}section h3{font-size:1.2rem}}
/*# sourceMappingURL=main.aeab0714.css.map*/