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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}*,body{margin:0;padding:0}body{font-family:Arial,sans-serif}#root,.App{min-height:100vh}.App{position:relative}.App:before{background:linear-gradient(180deg,#0a0e27 0,#1a1f3a 15%,#2d3561 25%,#4a5a8a 40%,#7b8fb8 55%,#ffa07a 70%,#ffcba4);content:"";height:100%;left:0;position:absolute;top:0;width:100%;z-index:-2}.stars-background{height:100vh;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:0}.stars-background .star{animation:floatUp linear infinite,twinkle ease-in-out infinite;background:#fff;border-radius:50%;box-shadow:0 0 10px #fffc;position:absolute}.stars-background .star:nth-child(3n){background:#ffc;box-shadow:0 0 10px #ffcc}.stars-background .star:nth-child(5n){background:#e0f7ff;box-shadow:0 0 10px #e0f7ffcc}.stars-background .star:before{background:radial-gradient(circle,#ffffff4d 0,#0000 70%);border-radius:50%;content:"";height:200%;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:200%}.content{position:relative;z-index:1}@keyframes floatUp{0%{opacity:.3;transform:translateY(0) translateX(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100vh) translateX(10px)}}@keyframes twinkle{0%,to{opacity:.5}50%{opacity:1}}@font-face{font-family:Borel;font-style:normal;font-weight:400;src:url(/static/media/Borel-Regular.3868b5f28036f4d36d01.ttf) format("truetype")}.hero{align-items:center;background:#0000;display:flex;flex-direction:column;height:100vh;justify-content:center;overflow:hidden;position:relative}.hero .hero-title{color:#fff;font-weight:700;margin-bottom:40px;text-align:center;text-shadow:0 0 20px #ffffff80;width:100%;z-index:2}.hero .hero-title .title{color:#fff;font-size:8rem;font-style:italic;font-weight:700;margin-bottom:20px}.hero .hero-title .sub-title{color:#ffffffe6;font-size:2rem;font-weight:400}.hero .hero-content{flex-direction:column;min-height:200px;text-align:center;width:100%;z-index:-1}.hero .hero-content .greeting{align-items:center;color:#fff;display:flex;font-size:5rem;font-style:italic;font-weight:700;justify-content:center;min-height:5rem;text-shadow:0 0 20px #ffffff80;transition:opacity .5s ease}.hero .hero-content .greeting.greeting-en{font-family:Borel,cursive}.hero .hero-content .greeting.greeting-ko{font-family:Nanum Pen Script,cursive!important;letter-spacing:1px}.hero .hero-content .greeting.greeting-ko.title{font-size:10rem}.hero .hero-content .greeting.greeting-ja{font-family:Shippori Mincho,Yuji Syuku,serif}.hero .hero-content .greeting.greeting-zh{font-family:Ma Shan Zheng,ZCOOL XiaoWei,cursive}.hero .hero-content .greeting.visible{opacity:1}.hero .hero-content .greeting.hidden{opacity:0}.hero .hero-content .scroll-indicator{animation:bounce 2s infinite;bottom:50px;cursor:pointer;left:50%;position:absolute;transform:translateX(-50%)}.hero .hero-content .scroll-indicator .mouse{border:2px solid #fff;border-radius:15px;height:50px;margin:0 auto 10px;position:relative;width:30px}.hero .hero-content .scroll-indicator .mouse .wheel{animation:scroll 1.5s infinite;background-color:#fff;border-radius:2px;height:10px;left:50%;position:absolute;top:10px;transform:translateX(-50%);width:4px}.hero .hero-content .scroll-indicator .arrow{align-items:center;display:flex;flex-direction:column;gap:5px}.hero .hero-content .scroll-indicator .arrow span{animation:arrowMove 1.5s infinite;border-bottom:2px solid #fff;border-right:2px solid #fff;display:block;height:15px;transform:rotate(45deg);width:15px}.hero .hero-content .scroll-indicator .arrow span:nth-child(2){animation-delay:.2s}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@keyframes scroll{0%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(20px)}}@keyframes arrowMove{0%{opacity:0;transform:rotate(45deg) translate(-5px,-5px)}50%{opacity:1}to{opacity:0;transform:rotate(45deg) translate(5px,5px)}}@media(max-width:768px){.hero .hero-title .title{font-size:2rem}.hero .hero-title .sub-title{font-size:.7rem}.hero .hero-content .greeting{font-size:2.5rem;min-height:3.5rem}.hero .hero-content .scroll-indicator{bottom:30px}}.profile{align-items:center;background:#0000;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:100px 20px;position:relative}.profile:before{height:500px;right:-200px;top:-200px;width:500px}.profile:after,.profile:before{background:#ffffff0d;border-radius:50%;content:"";position:absolute}.profile:after{bottom:-150px;height:400px;left:-150px;width:400px}.profile .profile-container{align-items:center;display:flex;gap:80px;max-width:1200px;position:relative;width:100%;z-index:1}.profile .profile-image-section{flex:0 0 400px;opacity:0;transform:translateX(-100px) scale(.8);transition:all 1s cubic-bezier(.34,1.56,.64,1)}.profile .profile-image-section.visible{opacity:1;transform:translateX(0) scale(1)}.profile .profile-image-section:not(.visible){opacity:0;transform:translateX(-100px) scale(.8)}.profile .profile-image-section .image-wrapper{height:500px;position:relative;width:400px}.profile .profile-image-section .image-wrapper .profile-image{border-radius:20px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.profile .profile-image-section .image-wrapper .profile-image:hover{transform:scale(1.02)}.profile .profile-image-section .image-wrapper .image-border{border:2px solid #ffffff4d;border-radius:25px;bottom:-15px;left:-15px;pointer-events:none;position:absolute;right:-15px;top:-15px}.profile .profile-image-section .image-wrapper .birth-day{color:#fff;font-weight:700;margin-top:7%;text-align:center;text-shadow:0 0 20px #ffffff80}.profile .profile-info-section{flex:1 1;opacity:0;transform:translateX(100px);transition:all 1s ease .3s}.profile .profile-info-section.visible{opacity:1;transform:translateX(0)}.profile .profile-info-section:not(.visible){opacity:0;transform:translateX(100px)}.profile .profile-info-section .section-title{color:#fff;display:inline-block;font-size:3rem;font-weight:700;margin-bottom:50px;position:relative;text-shadow:2px 2px 4px #0003}.profile .profile-info-section .section-title:after{background:#fff;border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:60px}.profile .profile-info-section .info-grid{display:flex;flex-direction:column;gap:25px}.profile .profile-info-section .info-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:15px;display:flex;gap:20px;opacity:0;padding:20px 25px;transform:translateX(50px);transition:all .3s ease}.profile .profile-info-section .info-item.visible{animation:slideInRight .6s ease forwards}.profile .profile-info-section .info-item:not(.visible){animation:none;opacity:0;transform:translateX(50px)}.profile .profile-info-section .info-item:hover{background:#ffffff26;box-shadow:0 10px 30px #0003;transform:translateX(10px)}.profile .profile-info-section .info-item .info-icon{align-items:center;background:#fff3;border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;height:50px;justify-content:center;width:50px}.profile .profile-info-section .info-item .info-content{display:flex;flex:1 1;flex-direction:column;gap:5px}.profile .profile-info-section .info-item .info-content .info-label{color:#ffffffb3;font-size:.85rem;font-weight:500;letter-spacing:1px;text-transform:uppercase}.profile .profile-info-section .info-item .info-content .info-value{color:#fff;font-size:1.1rem;font-weight:600}.profile .profile-info-section .info-item .info-content .info-value.link{color:#fff;display:inline-block;position:relative;text-decoration:none;transition:color .3s ease}.profile .profile-info-section .info-item .info-content .info-value.link:after{background:#fff;bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.profile .profile-info-section .info-item .info-content .info-value.link:hover{color:gold}.profile .profile-info-section .info-item .info-content .info-value.link:hover:after{background:gold;width:100%}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@media(max-width:1024px){.profile .profile-container{flex-direction:column;gap:50px}.profile .profile-image-section{flex:0 0 auto}.profile .profile-image-section .image-wrapper{height:400px;width:300px}.profile .profile-info-section{max-width:600px;width:100%}}@media(max-width:768px){.profile{padding:80px 20px}.profile .profile-image-section .image-wrapper{height:350px;width:250px}.profile .profile-info-section .section-title{font-size:2rem}.profile .profile-info-section .info-item{padding:15px 20px}.profile .profile-info-section .info-item .info-icon{font-size:1.2rem;height:40px;width:40px}.profile .profile-info-section .info-item .info-content .info-value{font-size:1rem}}.activities{align-items:center;background:#0000;display:flex;justify-content:center;min-height:100vh;padding:100px 20px;position:relative}.activities .activities-container{max-width:1000px;position:relative;width:100%;z-index:1}.activities .activities-container .section-title{color:#fff;font-size:3rem;font-weight:700;margin-bottom:10px;text-align:center;text-shadow:2px 2px 4px #0003}.activities .activities-container .section-subtitle{color:#fffc;font-size:1.2rem;margin-bottom:80px;text-align:center}.activities .activities-container .timeline{padding:20px 0;position:relative}.activities .activities-container .timeline .timeline-line{background:#fff3;bottom:0;left:50%;position:absolute;top:0;transform:translateX(-50%);width:3px}.activities .activities-container .timeline .activity-item{margin-bottom:80px;opacity:0;position:relative;transform:translateY(30px);transition:all .6s ease}.activities .activities-container .timeline .activity-item.visible{opacity:1;transform:translateY(0)}.activities .activities-container .timeline .activity-item:last-child{margin-bottom:0}.activities .activities-container .timeline .activity-item:nth-child(odd){padding-right:calc(50% + 50px)}.activities .activities-container .timeline .activity-item:nth-child(odd) .activity-card{margin-left:0}.activities .activities-container .timeline .activity-item:nth-child(odd):not(.visible){transform:translateX(-30px) translateY(30px)}.activities .activities-container .timeline .activity-item:nth-child(2n){padding-left:calc(50% + 50px)}.activities .activities-container .timeline .activity-item:nth-child(2n) .timeline-dot{left:auto;right:calc(50% - 30px)}.activities .activities-container .timeline .activity-item:nth-child(2n) .activity-card{margin-right:0}.activities .activities-container .timeline .activity-item:nth-child(2n):not(.visible){transform:translateX(30px) translateY(30px)}.activities .activities-container .timeline .activity-item .timeline-dot{align-items:center;border-radius:50%;box-shadow:0 0 0 4px #fff3;display:flex;height:60px;justify-content:center;left:calc(50% - 30px);position:absolute;top:0;width:60px;z-index:2}.activities .activities-container .timeline .activity-item .timeline-dot .dot-icon{color:#fff;font-size:1.5rem}.activities .activities-container .timeline .activity-item .activity-card{background:#fffffff2;border-radius:15px;box-shadow:0 10px 30px #0003;padding:30px;transition:transform .3s ease,box-shadow .3s ease}.activities .activities-container .timeline .activity-item .activity-card:hover{box-shadow:0 15px 40px #0000004d;transform:translateY(-5px)}.activities .activities-container .timeline .activity-item .activity-card .card-header{border-left:4px solid;margin-bottom:20px;padding-left:20px}.activities .activities-container .timeline .activity-item .activity-card .card-header .activity-title{color:#2c3e50;font-size:1.8rem;font-weight:700;margin-bottom:5px}.activities .activities-container .timeline .activity-item .activity-card .card-header .activity-subtitle{color:#7f8c8d;display:block;font-size:1.1rem;font-weight:500;margin-bottom:10px}.activities .activities-container .timeline .activity-item .activity-card .card-header .activity-period{background:#ecf0f1;border-radius:20px;color:#95a5a6;display:inline-block;font-size:.95rem;font-weight:500;padding:5px 15px}.activities .activities-container .timeline .activity-item .activity-card .card-body .activity-details{list-style:none;margin:0;padding:0}.activities .activities-container .timeline .activity-item .activity-card .card-body .activity-details li{color:#34495e;font-size:1rem;line-height:1.6;margin-bottom:12px;padding-left:25px;position:relative}.activities .activities-container .timeline .activity-item .activity-card .card-body .activity-details li:last-child{margin-bottom:0}.activities .activities-container .timeline .activity-item .activity-card .card-body .activity-details li:before{color:#3498db;content:"▸";font-weight:700;left:0;position:absolute}.activities .activities-container .timeline .activity-item .activity-card .card-body .activity-details li strong{color:#2c3e50;font-weight:600}@media(max-width:768px){.activities{padding:80px 20px}.activities .activities-container .section-title{font-size:2rem}.activities .activities-container .section-subtitle{font-size:1rem;margin-bottom:50px}.activities .activities-container .timeline .timeline-line{left:30px}.activities .activities-container .timeline .activity-item{margin-bottom:50px;padding-left:80px!important;padding-right:0!important}.activities .activities-container .timeline .activity-item:nth-child(2n) .timeline-dot,.activities .activities-container .timeline .activity-item:nth-child(odd) .timeline-dot{left:0;right:auto}.activities .activities-container .timeline .activity-item:nth-child(2n):not(.visible),.activities .activities-container .timeline .activity-item:nth-child(odd):not(.visible){transform:translateX(30px) translateY(30px)}.activities .activities-container .timeline .activity-item .timeline-dot{height:50px;width:50px}.activities .activities-container .timeline .activity-item .timeline-dot .dot-icon{font-size:1.2rem}.activities .activities-container .timeline .activity-item .activity-card{padding:20px}.activities .activities-container .timeline .activity-item .activity-card .card-header .activity-title{font-size:1.4rem}.activities .activities-container .timeline .activity-item .activity-card .card-header .activity-subtitle{font-size:1rem}.activities .activities-container .timeline .activity-item .activity-card .card-header .activity-period{font-size:.85rem}.activities .activities-container .timeline .activity-item .activity-card .card-body .activity-details li{font-size:.9rem}}.skills{align-items:center;background:#0000;display:flex;justify-content:center;min-height:100vh;padding:100px 20px;position:relative}.skills .skills-container{max-width:1200px;width:100%}.skills .skills-container .section-title{color:#fff;font-size:3rem;font-weight:700;margin-bottom:10px;text-align:center;text-shadow:2px 2px 4px #0000004d}.skills .skills-container .section-subtitle{color:#fffc;font-size:1.2rem;margin-bottom:40px;text-align:center}.skills .skills-container .skill-legend{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;display:flex;gap:30px;justify-content:center;margin-bottom:40px;opacity:0;padding:20px;transform:translateY(-20px);transition:all .6s ease}.skills .skills-container .skill-legend.visible{opacity:1;transform:translateY(0)}.skills .skills-container .skill-legend .legend-item{align-items:center;display:flex;gap:10px}.skills .skills-container .skill-legend .legend-item .legend-badge{border-radius:12px;display:inline-block;height:24px;transition:transform .3s ease;width:24px}.skills .skills-container .skill-legend .legend-item .legend-badge.expert{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 8px #667eea66}.skills .skills-container .skill-legend .legend-item .legend-badge.intermediate{background:#ffffff26;border:2px solid #ffffff4d}.skills .skills-container .skill-legend .legend-item .legend-text{color:#fff;font-size:.95rem;font-weight:500}.skills .skills-container .skill-legend .legend-item:hover .legend-badge{transform:scale(1.2)}.skills .skills-container .skills-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.skills .skills-container .skills-grid .skill-category{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;opacity:0;padding:30px;transform:translateY(30px);transition:all .3s ease}.skills .skills-container .skills-grid .skill-category:hover{background:#ffffff14;box-shadow:0 10px 30px #0000004d;transform:translateY(-5px)}.skills .skills-container .skills-grid .skill-category .category-title{border-bottom:2px solid #fff3;color:#fff;font-size:1.5rem;font-weight:600;margin-bottom:20px;padding-bottom:10px}.skills .skills-container .skills-grid .skill-category .skill-tags{display:flex;flex-wrap:wrap;gap:10px}.skills .skills-container .skills-grid .skill-category .skill-tags .skill-tag{border-radius:20px;cursor:default;display:inline-block;font-size:.9rem;font-weight:500;opacity:0;padding:8px 16px;transform:scale(.8);transition:all .3s ease}.skills .skills-container .skills-grid .skill-category .skill-tags .skill-tag.expert{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 15px #667eea66;color:#fff}.skills .skills-container .skills-grid .skill-category .skill-tags .skill-tag.expert:hover{box-shadow:0 6px 20px #667eea99;transform:scale(1.05)}.skills .skills-container .skills-grid .skill-category .skill-tags .skill-tag.intermediate{background:#ffffff26;border:1px solid #ffffff4d;color:#fff}.skills .skills-container .skills-grid .skill-category .skill-tags .skill-tag.intermediate:hover{background:#ffffff40;transform:scale(1.05)}.skills .skills-container .skills-grid.visible .skill-category{animation:fadeInUp .6s ease forwards}.skills .skills-container .skills-grid.visible .skill-tag{animation:popIn .4s ease forwards}@keyframes popIn{to{opacity:1;transform:scale(1)}}@media(max-width:768px){.skills{padding:80px 20px}.skills .skills-container .section-title{font-size:2rem}.skills .skills-container .section-subtitle{font-size:1rem}.skills .skills-container .skill-legend{flex-direction:column;gap:15px;margin-bottom:30px;padding:15px}.skills .skills-container .skill-legend .legend-item .legend-text{font-size:.85rem}.skills .skills-container .skill-legend .legend-item .legend-badge{height:20px;width:20px}.skills .skills-container .skills-grid{gap:20px;grid-template-columns:1fr}.skills .skills-container .skills-grid .skill-category{padding:20px}.skills .skills-container .skills-grid .skill-category .category-title{font-size:1.3rem}.skills .skills-container .skills-grid .skill-category .skill-tags{gap:8px}.skills .skills-container .skills-grid .skill-category .skill-tags .skill-tag{font-size:.85rem;padding:6px 12px}}.projects{background:#0000;min-height:100vh;padding:100px 0}.projects .container{margin:0 auto;max-width:1200px;padding:0 20px}.projects .section-title{color:#fff;font-size:3rem;margin-bottom:3rem;text-align:center;text-shadow:2px 2px 4px #0000001a}.projects .category-filter{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.projects .category-filter .category-btn{background:#0000;border:2px solid #fff;border-radius:25px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.8rem 1.5rem;transition:all .3s ease}.projects .category-filter .category-btn:hover{background:#fff;color:#667eea;transform:translateY(-2px)}.projects .category-filter .category-btn.active{background:#fff;color:#667eea}.projects .projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:2rem}.projects .projects-grid .project-card{background:#fff;border-radius:15px;box-shadow:0 5px 15px #0000001a;cursor:pointer;overflow:hidden;transition:all .3s ease}.projects .projects-grid .project-card:hover{box-shadow:0 15px 30px #0003;transform:translateY(-10px)}.projects .projects-grid .project-card:hover .project-overlay{opacity:1}.projects .projects-grid .project-card .project-image{height:250px;overflow:hidden;position:relative}.projects .projects-grid .project-card .project-image img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.projects .projects-grid .project-card .project-image .project-overlay{align-items:center;background:#667eeae6;bottom:0;display:flex;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.projects .projects-grid .project-card .project-image .project-overlay span{color:#fff;font-size:1.2rem;font-weight:600}.projects .projects-grid .project-card .project-info{padding:1.5rem}.projects .projects-grid .project-card .project-info h3{color:#333;font-size:1.5rem;margin-bottom:.5rem}.projects .projects-grid .project-card .project-info p{color:#666;line-height:1.6;margin-bottom:1rem}.projects .projects-grid .project-card .project-info .project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.projects .projects-grid .project-card .project-info .project-tags .tag{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;color:#fff;font-size:.85rem;padding:.3rem .8rem}.projects .project-modal{align-items:center;animation:fadeIn .3s ease;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.projects .project-modal .modal-content{animation:slideUp .3s ease;background:#fff;border-radius:20px;display:flex;flex-direction:column;max-height:90vh;max-width:900px;position:relative;width:100%}.projects .project-modal .modal-content .close-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:#999;cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:all .3s ease;width:40px;z-index:10}.projects .project-modal .modal-content .close-btn:hover{background:#f0f0f0;color:#333;transform:rotate(90deg)}.projects .project-modal .modal-content .modal-header{border-bottom:1px solid #eee;padding:2rem}.projects .project-modal .modal-content .modal-header h2{color:#333;font-size:2rem;margin-bottom:1rem}.projects .project-modal .modal-content .modal-header .project-meta{display:flex;flex-wrap:wrap;gap:1.5rem}.projects .project-modal .modal-content .modal-header .project-meta span{color:#666;font-size:.95rem}.projects .project-modal .modal-content .modal-body{flex:1 1;overflow-y:auto;padding:2rem}.projects .project-modal .modal-content .modal-body .markdown-content img{border-radius:10px;box-shadow:0 4px 12px #0000001a;display:block;height:auto;margin:1.5rem auto;max-width:100%}.projects .project-modal .modal-content .modal-body .markdown-content h1{border-bottom:2px solid #667eea;color:#667eea;font-size:2rem;margin:2rem 0 1rem;padding-bottom:.5rem}.projects .project-modal .modal-content .modal-body .markdown-content h1:first-child{margin-top:0}.projects .project-modal .modal-content .modal-body .markdown-content h2{color:#764ba2;font-size:1.5rem;margin:1.5rem 0 1rem}.projects .project-modal .modal-content .modal-body .markdown-content h3{color:#555;font-size:1.2rem;margin:1rem 0 .5rem}.projects .project-modal .modal-content .modal-body .markdown-content h4{color:#666;font-size:1rem;margin:.8rem 0 .5rem}.projects .project-modal .modal-content .modal-body .markdown-content p{color:#333;line-height:1.8;margin-bottom:1rem}.projects .project-modal .modal-content .modal-body .markdown-content ol,.projects .project-modal .modal-content .modal-body .markdown-content ul{margin:1rem 0;padding-left:2rem}.projects .project-modal .modal-content .modal-body .markdown-content ol li,.projects .project-modal .modal-content .modal-body .markdown-content ul li{line-height:1.6;margin:.5rem 0}.projects .project-modal .modal-content .modal-body .markdown-content ol li ol,.projects .project-modal .modal-content .modal-body .markdown-content ol li ul,.projects .project-modal .modal-content .modal-body .markdown-content ul li ol,.projects .project-modal .modal-content .modal-body .markdown-content ul li ul{margin:.5rem 0}.projects .project-modal .modal-content .modal-body .markdown-content code{background:#f4f4f4;border-radius:3px;color:#e83e8c;font-family:Courier New,monospace;font-size:.9em;padding:.2rem .4rem}.projects .project-modal .modal-content .modal-body .markdown-content pre{background:#f4f4f4;border-radius:5px;margin:1rem 0;overflow-x:auto;padding:1rem}.projects .project-modal .modal-content .modal-body .markdown-content pre code{background:none;color:#333;padding:0}.projects .project-modal .modal-content .modal-body .markdown-content a{color:#667eea;font-weight:500;text-decoration:none}.projects .project-modal .modal-content .modal-body .markdown-content a:hover{text-decoration:underline}.projects .project-modal .modal-content .modal-body .markdown-content hr{border:none;border-top:1px solid #ddd;margin:2rem 0}.projects .project-modal .modal-content .modal-body .markdown-content blockquote{background:#f8f9fa;border-left:4px solid #667eea;border-radius:4px;margin:1.5rem 0;padding:1rem 1.5rem}.projects .project-modal .modal-content .modal-body .markdown-content blockquote p{color:#555;margin-bottom:.5rem}.projects .project-modal .modal-content .modal-body .markdown-content blockquote p:last-child{margin-bottom:0}.projects .project-modal .modal-content .modal-body .markdown-content strong{color:#333;font-weight:600}.projects .project-modal .modal-content .modal-body .markdown-content em{color:#666}.projects .project-modal .modal-content .modal-body .markdown-content table{border-collapse:collapse;display:block;margin:1.5rem 0;overflow-x:auto;width:100%}.projects .project-modal .modal-content .modal-body .markdown-content table thead{background:#f8f9fa}.projects .project-modal .modal-content .modal-body .markdown-content table td,.projects .project-modal .modal-content .modal-body .markdown-content table th{border:1px solid #ddd;padding:.75rem;text-align:left}.projects .project-modal .modal-content .modal-body .markdown-content table th{color:#333;font-weight:600}.projects .project-modal .modal-content .modal-body .markdown-content table td{color:#666}.projects .project-modal .modal-content .modal-footer{border-top:1px solid #eee;display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem}.projects .project-modal .modal-content .modal-footer .btn-link{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:25px;color:#fff;font-weight:500;padding:.8rem 1.5rem;text-decoration:none;transition:all .3s ease}.projects .project-modal .modal-content .modal-footer .btn-link:hover{box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.projects{padding:60px 0}.projects .section-title{font-size:2rem}.projects .projects-grid{gap:1.5rem;grid-template-columns:1fr}.projects .project-modal{padding:1rem}.projects .project-modal .modal-content{max-height:95vh}.projects .project-modal .modal-content .modal-header{padding:1.5rem}.projects .project-modal .modal-content .modal-header h2{font-size:1.5rem}.projects .project-modal .modal-content .modal-header .project-meta{flex-direction:column;gap:.5rem}.projects .project-modal .modal-content .modal-body{padding:1.5rem}.projects .project-modal .modal-content .modal-body .markdown-content img{border-radius:8px;margin:1rem auto}.projects .project-modal .modal-content .modal-body .markdown-content h1{font-size:1.5rem}.projects .project-modal .modal-content .modal-body .markdown-content h2{font-size:1.3rem}.projects .project-modal .modal-content .modal-body .markdown-content h3{font-size:1.1rem}.projects .project-modal .modal-content .modal-body .markdown-content table{font-size:.85rem}.projects .project-modal .modal-content .modal-body .markdown-content table td,.projects .project-modal .modal-content .modal-body .markdown-content table th{padding:.5rem}.projects .project-modal .modal-content .modal-footer{flex-direction:column;padding:1rem 1.5rem}.projects .project-modal .modal-content .modal-footer .btn-link{text-align:center;width:100%}}.certifications{align-items:center;background:#0000;display:flex;justify-content:center;min-height:100vh;padding:100px 20px;position:relative}.certifications .certifications-container{max-width:1200px;width:100%}.certifications .certifications-container .section-title{color:#fff;font-size:3rem;font-weight:700;margin-bottom:10px;text-align:center;text-shadow:2px 2px 4px #0000004d}.certifications .certifications-container .section-subtitle{color:#fffc;font-size:1.2rem;margin-bottom:80px;text-align:center}.certifications .certifications-container .timeline{padding:40px 0;position:relative}.certifications .certifications-container .timeline:before{background:linear-gradient(180deg,#ffffff1a,#ffffff4d,#ffffff1a);bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:3px}.certifications .certifications-container .timeline .timeline-item{margin-bottom:60px;opacity:0;position:relative;transform:translateY(30px)}.certifications .certifications-container .timeline .timeline-item.left .timeline-content{padding-right:calc(50% + 40px);text-align:right}.certifications .certifications-container .timeline .timeline-item.left .timeline-dot{left:50%;transform:translateX(-50%)}.certifications .certifications-container .timeline .timeline-item.left .cert-card{margin-left:0;margin-right:auto}.certifications .certifications-container .timeline .timeline-item.right .timeline-content{padding-left:calc(50% + 40px);text-align:left}.certifications .certifications-container .timeline .timeline-item.right .timeline-dot{left:50%;transform:translateX(-50%)}.certifications .certifications-container .timeline .timeline-item.right .cert-card{margin-left:auto;margin-right:0}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff1a;border-radius:20px;overflow:hidden;padding:30px;position:relative;transition:all .4s ease}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card:before{background:var(--cert-color);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card:hover{background:#ffffff14;border-color:var(--cert-color);box-shadow:0 15px 40px #0000004d;transform:translateY(-10px)}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card:hover:before{transform:scaleX(1)}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card:hover .cert-icon{background:var(--cert-color);transform:rotate(1turn) scale(1.1)}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-header .cert-icon{align-items:center;background:#ffffff1a;border-radius:50%;color:var(--cert-color);display:flex;font-size:1.5rem;height:50px;justify-content:center;transition:all .5s ease;width:50px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-header .cert-category{background:var(--cert-color);border-radius:20px;box-shadow:0 4px 15px #0003;color:#fff;font-size:.85rem;font-weight:600;padding:6px 14px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-name{color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:10px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-organization{color:#ffffffb3;font-size:1rem;margin-bottom:20px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-details{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-details .detail-item{align-items:center;color:#fffc;display:flex;font-size:.9rem;gap:10px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-details .detail-item svg{color:var(--cert-color);flex-shrink:0;font-size:1rem}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-details .detail-item .cert-number{font-family:Courier New,monospace;font-size:.85rem;word-break:break-all}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-badge{align-items:center;background:#43e97b33;border:1px solid #43e97b66;border-radius:20px;color:#43e97b;display:inline-flex;font-size:.85rem;font-weight:600;gap:8px;padding:8px 16px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-badge svg{font-size:1rem}.certifications .certifications-container .timeline .timeline-item .timeline-dot{border:4px solid #ffffff1a;border-radius:50%;box-shadow:0 0 20px #ffffff4d;height:20px;position:absolute;top:30px;transition:all .3s ease;width:20px;z-index:2}.certifications .certifications-container .timeline .timeline-item .timeline-dot:after{animation:pulse 2s ease-in-out infinite;background:inherit;border-radius:50%;content:"";height:10px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:10px}.certifications .certifications-container .timeline.visible .timeline-item{animation:fadeInUp .6s ease forwards}.certifications .certifications-container .cert-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-top:60px;opacity:0;transform:translateY(30px);transition:all .6s ease .5s}.certifications .certifications-container .cert-stats.visible{opacity:1;transform:translateY(0)}.certifications .certifications-container .cert-stats .stat-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:15px;padding:30px 20px;text-align:center;transition:all .3s ease}.certifications .certifications-container .cert-stats .stat-item:hover{background:#ffffff14;box-shadow:0 10px 30px #0000004d;transform:translateY(-5px)}.certifications .certifications-container .cert-stats .stat-item .stat-number{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#fff;font-size:3rem;font-weight:700;margin-bottom:10px}.certifications .certifications-container .cert-stats .stat-item .stat-label{color:#ffffffb3;font-size:1rem;font-weight:500}@keyframes pulse{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}@media(max-width:768px){.certifications{padding:80px 20px}.certifications .certifications-container .section-title{font-size:2rem}.certifications .certifications-container .section-subtitle{font-size:1rem;margin-bottom:50px}.certifications .certifications-container .timeline{padding:20px 0}.certifications .certifications-container .timeline:before{left:20px}.certifications .certifications-container .timeline .timeline-item{margin-bottom:40px}.certifications .certifications-container .timeline .timeline-item.left .timeline-content,.certifications .certifications-container .timeline .timeline-item.right .timeline-content{padding-left:50px;padding-right:0;text-align:left}.certifications .certifications-container .timeline .timeline-item.left .timeline-dot,.certifications .certifications-container .timeline .timeline-item.right .timeline-dot{left:20px;transform:translateX(-50%)}.certifications .certifications-container .timeline .timeline-item.left .cert-card,.certifications .certifications-container .timeline .timeline-item.right .cert-card{margin:0}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card{padding:20px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-header .cert-icon{font-size:1.2rem;height:40px;width:40px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-header .cert-category{font-size:.75rem;padding:5px 10px}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-name{font-size:1.2rem}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-organization{font-size:.9rem}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-details .detail-item{font-size:.85rem}.certifications .certifications-container .timeline .timeline-item .timeline-content .cert-card .cert-details .detail-item .cert-number{font-size:.75rem}.certifications .certifications-container .timeline .timeline-item .timeline-dot{height:16px;top:20px;width:16px}.certifications .certifications-container .cert-stats{gap:15px;grid-template-columns:repeat(2,1fr);margin-top:40px}.certifications .certifications-container .cert-stats .stat-item{padding:20px 15px}.certifications .certifications-container .cert-stats .stat-item .stat-number{font-size:2rem}.certifications .certifications-container .cert-stats .stat-item .stat-label{font-size:.9rem}}.education{align-items:center;background:#0000;display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:100px 20px;position:relative}.education:before{animation:float 20s ease-in-out infinite;background:radial-gradient(circle,#ffffff1a 0,#0000 70%);height:500px;right:-10%;top:-50%;width:500px}.education:after,.education:before{border-radius:50%;content:"";position:absolute}.education:after{animation:float 15s ease-in-out infinite reverse;background:radial-gradient(circle,#ffffff14 0,#0000 70%);bottom:-30%;height:400px;left:-5%;width:400px}.education .education-container{max-width:1200px;position:relative;width:100%;z-index:1}.education .education-container .section-title{color:#fff;font-size:3rem;font-weight:700;margin-bottom:10px;text-align:center;text-shadow:2px 2px 4px #0000004d}.education .education-container .section-subtitle{color:#ffffffe6;font-size:1.2rem;margin-bottom:60px;text-align:center}.education .education-container .education-grid{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr));margin-bottom:60px}.education .education-container .education-grid.visible .education-card{animation:fadeInUp .8s ease forwards}.education .education-container .education-grid .education-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border:2px solid #fff3;border-radius:25px;opacity:0;overflow:hidden;padding:40px;position:relative;transform:translateY(30px);transition:all .4s ease}.education .education-container .education-grid .education-card:before{background:var(--edu-color);content:"";height:5px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.education .education-container .education-grid .education-card:hover{background:#ffffff26;border-color:var(--edu-color);box-shadow:0 20px 60px #0000004d;transform:translateY(-10px)}.education .education-container .education-grid .education-card:hover:before{transform:scaleX(1)}.education .education-container .education-grid .education-card:hover .degree-badge{background:var(--edu-color);transform:scale(1.05)}.education .education-container .education-grid .education-card:hover .card-decoration .decoration-circle{opacity:.3;transform:scale(1.2)}.education .education-container .education-grid .education-card .card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.education .education-container .education-grid .education-card .card-header .degree-badge{align-items:center;background:#ffffff26;border-radius:50px;color:#fff;display:flex;font-size:1.1rem;font-weight:600;gap:10px;padding:12px 20px;transition:all .3s ease}.education .education-container .education-grid .education-card .card-header .degree-badge svg{font-size:1.3rem}.education .education-container .education-grid .education-card .card-header .status-badge{border-radius:20px;font-size:.9rem;font-weight:600;padding:8px 16px}.education .education-container .education-grid .education-card .card-header .status-badge.ongoing{background:#43e97b33;border:1px solid #43e97b80;color:#43e97b}.education .education-container .education-grid .education-card .card-header .status-badge.completed{background:#667eea33;border:1px solid #667eea80;color:#667eea}.education .education-container .education-grid .education-card .card-body .school-name{color:#fff;font-size:2rem;font-weight:700;margin-bottom:15px;text-shadow:1px 1px 2px #0003}.education .education-container .education-grid .education-card .card-body .major{align-items:center;color:#ffffffe6;display:flex;font-size:1.2rem;gap:10px;margin-bottom:20px}.education .education-container .education-grid .education-card .card-body .major svg{color:var(--edu-color);font-size:1.1rem}.education .education-container .education-grid .education-card .card-body .period{align-items:center;color:#fffc;display:flex;font-size:1rem;gap:10px;margin-bottom:30px}.education .education-container .education-grid .education-card .card-body .period svg{color:var(--edu-color)}.education .education-container .education-grid .education-card .card-body .gpa-section{background:#ffffff14;border:1px solid #ffffff1a;border-radius:15px;padding:20px}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-label{align-items:center;color:#ffffffb3;display:flex;font-size:.9rem;gap:8px;margin-bottom:10px}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-label svg{color:#feca57}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-value{align-items:baseline;display:flex;gap:8px;margin-bottom:15px}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-value .current-gpa{color:#fff;font-size:3rem;font-weight:700;text-shadow:2px 2px 4px #0003}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-value .gpa-separator{color:#ffffff80;font-size:2rem}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-value .max-gpa{color:#ffffffb3;font-size:1.5rem}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-bar{background:#ffffff1a;border-radius:10px;height:8px;margin-bottom:10px;overflow:hidden;width:100%}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-bar .gpa-fill{background:linear-gradient(90deg,var(--edu-color),#feca57);border-radius:10px;box-shadow:0 0 10px var(--edu-color);height:100%;transition:width 1s ease}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-percentage{color:#fffc;font-size:.9rem;font-weight:600;text-align:right}.education .education-container .education-grid .education-card .card-decoration{bottom:-50px;height:200px;pointer-events:none;position:absolute;right:-50px;width:200px}.education .education-container .education-grid .education-card .card-decoration .decoration-circle{border:2px solid #ffffff1a;border-radius:50%;position:absolute;transition:all .4s ease}.education .education-container .education-grid .education-card .card-decoration .decoration-circle:first-child{height:100px;right:50px;top:50px;width:100px}.education .education-container .education-grid .education-card .card-decoration .decoration-circle:nth-child(2){height:150px;right:25px;top:25px;width:150px}.education .education-container .education-grid .education-card .card-decoration .decoration-circle:nth-child(3){height:200px;right:0;top:0;width:200px}.education .education-container .achievement-summary{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(3,1fr);opacity:0;transform:translateY(30px);transition:all .6s ease .4s}.education .education-container .achievement-summary.visible{opacity:1;transform:translateY(0)}.education .education-container .achievement-summary .summary-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;display:flex;gap:20px;padding:30px;transition:all .3s ease}.education .education-container .achievement-summary .summary-item:hover{background:#ffffff26;box-shadow:0 10px 30px #0003;transform:translateY(-5px)}.education .education-container .achievement-summary .summary-item .summary-icon{filter:drop-shadow(2px 2px 4px rgba(0,0,0,.2));font-size:3rem}.education .education-container .achievement-summary .summary-item .summary-content .summary-value{color:#fff;font-size:2rem;font-weight:700;margin-bottom:5px}.education .education-container .achievement-summary .summary-item .summary-content .summary-label{color:#fffc;font-size:1rem}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@media(max-width:768px){.education{padding:80px 20px}.education .education-container .section-title{font-size:2rem}.education .education-container .section-subtitle{font-size:1rem;margin-bottom:40px}.education .education-container .education-grid{gap:30px;grid-template-columns:1fr}.education .education-container .education-grid .education-card{padding:30px 20px}.education .education-container .education-grid .education-card .card-header{align-items:flex-start;flex-direction:column;gap:15px}.education .education-container .education-grid .education-card .card-header .degree-badge{font-size:1rem;padding:10px 16px}.education .education-container .education-grid .education-card .card-body .school-name{font-size:1.5rem}.education .education-container .education-grid .education-card .card-body .major{font-size:1.1rem}.education .education-container .education-grid .education-card .card-body .gpa-section{padding:15px}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-value .current-gpa{font-size:2.5rem}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-value .gpa-separator{font-size:1.5rem}.education .education-container .education-grid .education-card .card-body .gpa-section .gpa-value .max-gpa{font-size:1.2rem}.education .education-container .achievement-summary{gap:20px;grid-template-columns:1fr}.education .education-container .achievement-summary .summary-item{padding:20px}.education .education-container .achievement-summary .summary-item .summary-icon{font-size:2.5rem}.education .education-container .achievement-summary .summary-item .summary-content .summary-value{font-size:1.5rem}.education .education-container .achievement-summary .summary-item .summary-content .summary-label{font-size:.9rem}}
/*# sourceMappingURL=main.f7cad60a.css.map*/