@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Noto+Sans+KR:wght@300;400;500;700&display=swap);:root{--primary-color:#6c63ff;--secondary-color:#4a45b1;--accent-color:#ff6584;--background-color:#f8f9fa;--card-bg-color:#fff;--alt-bg-color:#f0f2f5;--text-color:#333;--light-text-color:#666;--border-color:#e1e4e8;--white-color:#fff;--black-color:#000;--success-color:#28a745;--warning-color:#ffc107;--error-color:#dc3545;--card-shadow:0 10px 20px #00000014;--transition:all 0.3s ease;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--font-size-4xl:3rem}.dark-mode{--background-color:#121212;--card-bg-color:#1e1e1e;--alt-bg-color:#2d2d2d;--text-color:#e0e0e0;--light-text-color:#a0a0a0;--border-color:#444;--card-shadow:0 10px 20px #0003}@media (prefers-color-scheme:dark){:root:not(.dark-mode):not(.light-mode){--background-color:#121212;--card-bg-color:#1e1e1e;--alt-bg-color:#2d2d2d;--text-color:#e0e0e0;--light-text-color:#a0a0a0;--border-color:#444;--card-shadow:0 10px 20px #0003}}*{box-sizing:border-box;margin:0;padding:0}html{transition:all .5s ease}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--background-color);color:#333;color:var(--text-color);font-family:Poppins,Noto Sans KR,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:1rem;font-size:var(--font-size-md);line-height:1.6;margin:0;overflow-x:hidden;transition:background-color .5s ease,color .5s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f0f2f5;background:var(--alt-bg-color)}::-webkit-scrollbar-thumb{background:#6c63ff;background:var(--primary-color);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#4a45b1;background:var(--secondary-color)}::selection{background-color:#6c63ff;background-color:var(--primary-color);color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@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)}}.animation-fadeUp{transform:translateY(30px)}.animation-fadeUp.animate{opacity:1;transform:translateY(0)}.animation-fade.animate{opacity:1}.animation-fromLeft{transform:translateX(-50px)}.animation-fromLeft.animate{opacity:1;transform:translateX(0)}.animation-fromRight{transform:translateX(50px)}.animation-fromRight.animate{opacity:1;transform:translateX(0)}.animation-scale{transform:scale(.8)}.animation-scale.animate{opacity:1;transform:scale(1)}.btn{border:none;cursor:pointer;display:inline-block;font-size:1rem;padding:12px 24px;text-align:center;transition:all .3s ease,background-color .5s ease,color .5s ease,border-color .5s ease;transition:var(--transition),background-color .5s ease,color .5s ease,border-color .5s ease}.btn-primary{background-color:#6c63ff}.btn-primary:hover{background-color:#4a45b1;box-shadow:0 6px 20px #00000026}.btn-secondary{border:2px solid #6c63ff;color:#6c63ff;color:var(--primary-color)}.btn-secondary:hover{background-color:#6c63ff;background-color:var(--primary-color);box-shadow:0 6px 20px #00000026;color:#fff}.section-title{margin-bottom:2rem}.section-title:after{background-color:#6c63ff;background-color:var(--primary-color)}.container{margin:0 auto;max-width:1200px;padding:0 2rem;width:100%}.keyboard-user :focus{outline:2px solid #6c63ff!important;outline:2px solid var(--primary-color)!important;outline-offset:2px!important}.skip-link{background:#6c63ff;background:var(--primary-color);color:#fff;left:0;padding:8px;position:absolute;top:-40px;transition:top .3s;z-index:100}.skip-link:focus{top:0}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.header{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:#fffffff2;box-shadow:0 5px 20px #0000000d;left:0;position:fixed;top:0;transition:all .4s ease;width:100%;z-index:100}.dark-mode .header{background-color:#1e1e1ef2;box-shadow:0 5px 20px #0003}.header.scrolled{background-color:#fffffffa;box-shadow:0 5px 20px #0000001a;padding:.5rem 0}.dark-mode .header.scrolled{background-color:#191919fa;box-shadow:0 5px 20px #0000004d}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem}.logo{color:var(--text-color);position:relative;text-decoration:none;z-index:2}.logo h1{-webkit-text-fill-color:#0000;text-fill-color:#0000;background:linear-gradient(45deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;font-size:1.8rem;font-weight:700;letter-spacing:1px}.nav-menu,.nav-menu ul{align-items:center;display:flex}.nav-menu ul{gap:2.5rem;list-style:none;margin:0;padding:0}.nav-menu li{align-items:center;display:flex;position:relative}.nav-menu a{color:var(--text-color);font-weight:500;padding:.5rem 0;position:relative;text-decoration:none;transition:all .3s ease}.nav-menu a:after{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-menu a.active:after,.nav-menu a:hover:after{width:100%}.nav-menu a.active,.nav-menu a:hover{color:var(--primary-color)}.mobile-menu-btn{cursor:pointer;display:none;flex-direction:column;height:21px;justify-content:space-between;width:30px;z-index:2}.mobile-menu-btn span{background-color:var(--primary-color);border-radius:3px;display:block;height:3px;transition:all .3s ease;width:100%}.theme-toggle{align-items:center;display:flex;margin-left:1rem}.theme-toggle-btn{align-items:center;background:none;background-color:var(--alt-bg-color);border:none;border-radius:50%;color:var(--text-color);cursor:pointer;display:flex;font-size:1.5rem;justify-content:center;padding:.5rem;transition:all .3s ease}.theme-toggle-btn:hover{background-color:var(--primary-color);color:#fff;transform:rotate(15deg)}@media (max-width:768px){.mobile-menu-btn,.nav-menu{display:flex}.nav-menu{align-items:center;background-color:var(--card-bg-color);box-shadow:-5px 0 15px #0000001a;height:100vh;justify-content:center;padding:6rem 2rem 2rem;position:fixed;right:-100%;top:0;transition:all .4s ease;width:80%}.nav-menu.active{right:0}.nav-menu ul{align-items:center;flex-direction:column;gap:2rem}.nav-menu li,.nav-menu ul{justify-content:center;width:100%}.nav-menu li{text-align:center}.nav-menu a{display:block;font-size:1.2rem;padding:.5rem 0}.mobile-menu-btn.active span:first-child{transform:translateY(9px) rotate(45deg)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}}.footer{background-color:#121212;color:#fff;margin-top:4rem;padding:4rem 2rem 1.5rem;position:relative;z-index:10}.footer-content{display:flex;flex-wrap:wrap;gap:3rem;justify-content:space-between;margin:0 auto 3rem;max-width:1200px}.footer-left{max-width:350px}.footer-left h2{color:var(--primary-color);font-size:2rem;margin-bottom:1rem}.footer-left p{color:#aaa;line-height:1.6}.footer-right{flex-direction:column}.footer-links,.footer-right{display:flex;gap:2rem}.footer-links a{color:#fff;font-weight:500;text-decoration:none;transition:color .3s ease}.footer-links a:hover{color:var(--primary-color)}.footer-social{display:flex;flex-direction:column;gap:1rem}.social-email{color:#aaa;text-decoration:none;transition:color .3s ease}.social-email:hover{color:var(--primary-color)}.social-icons{display:flex;gap:1.5rem}.social-icons a{color:#aaa;text-decoration:none;transition:color .3s ease}.social-icons a:hover{color:var(--primary-color)}.footer-bottom{align-items:center;border-top:1px solid #ffffff1a;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding-top:1.5rem}.footer-bottom p{color:#777;font-size:.9rem}.scroll-top-btn{align-items:center;background-color:var(--primary-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;transition:all .3s ease;width:40px}.scroll-top-btn:hover{background-color:var(--secondary-color);transform:translateY(-3px)}@media (max-width:768px){.footer-content{flex-direction:column;text-align:center}.footer-left{margin:0 auto}.footer-links{justify-content:center}.footer-social{align-items:center}.footer-bottom{flex-direction:column;gap:1rem}}.loader-container{background-color:var(--background-color);height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loader,.loader-container{align-items:center;display:flex}.loader{flex-direction:column}.loader-circle{animation:spin 1s ease-in-out infinite;border:4px solid #0000001a;border-radius:50%;border-top:4px solid var(--primary-color);height:50px;margin-bottom:1rem;width:50px}.loader-text{color:var(--text-color);font-size:var(--font-size-md);font-weight:500}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-color-scheme:dark){.loader-circle{border-color:#ffffff1a;border-top-color:var(--primary-color)}}.error-boundary{align-items:center;background-color:#f8f9fa;background-color:var(--color-background,#f8f9fa);display:flex;justify-content:center;min-height:100vh;padding:20px}.error-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:600px;padding:30px;text-align:center;width:100%}.error-container h2{color:#e74c3c;margin-bottom:15px}.error-container p{color:#555;line-height:1.6;margin-bottom:25px}.error-actions{display:flex;gap:15px;justify-content:center;margin-bottom:20px}.home-button,.reload-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 20px;transition:background-color .3s}.reload-button{background-color:#6c63ff;background-color:var(--color-primary,#6c63ff);color:#fff}.reload-button:hover{background-color:#5a52d5;background-color:var(--color-primary-dark,#5a52d5)}.home-button{background-color:#f1f1f1;color:#333}.home-button:hover{background-color:#e0e0e0}.error-details{border-top:1px solid #eee;margin-top:20px;padding-top:15px;text-align:left}.error-details summary{color:#666;cursor:pointer;font-weight:500;margin-bottom:10px}.error-details p{color:#e74c3c;font-family:monospace;margin-bottom:10px}.stack-trace{background-color:#f8f9fa;border-radius:4px;color:#666;font-family:monospace;font-size:.9rem;overflow-x:auto;padding:15px;white-space:pre-wrap}.dark-mode .error-boundary{background-color:#121212;background-color:var(--color-background,#121212)}.dark-mode .error-container{background-color:#1e1e1e}.dark-mode .error-container h2{color:#ff6b6b}.dark-mode .error-container p{color:#ccc}.dark-mode .home-button{background-color:#333;color:#f1f1f1}.dark-mode .home-button:hover{background-color:#444}.dark-mode .error-details{border-top-color:#333}.dark-mode .error-details summary{color:#aaa}.dark-mode .stack-trace{background-color:#252525;color:#aaa}.home{overflow-x:hidden;padding-top:80px;width:100%}.hero{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 80px);overflow:hidden;padding:2rem;position:relative}.hero-bg{background-color:var(--background-color);height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.hero-shape{border-radius:50%;filter:blur(60px);position:absolute}.shape-1{animation:float 15s ease-in-out infinite alternate;background:linear-gradient(45deg,#6c63ff33,#ff65841a);height:500px;left:-5%;top:10%;width:500px}.shape-2{animation:float 20s ease-in-out infinite alternate-reverse;background:linear-gradient(45deg,#ff65841a,#6c63ff33);bottom:-10%;height:400px;right:-5%;width:400px}.shape-3{animation:pulse 10s ease-in-out infinite alternate;background:radial-gradient(circle,#6c63ff0d 0,#fff0 70%);height:700px;left:50%;top:50%;transform:translate(-50%,-50%);width:700px}@keyframes float{0%{transform:translate(0) rotate(0deg)}50%{transform:translate(30px,20px) rotate(5deg)}to{transform:translate(-20px,10px) rotate(-5deg)}}.hero-content{align-items:center;display:flex;gap:2rem;justify-content:space-between;margin:0 auto;max-width:1200px;width:100%}.hero-text{flex:1 1;max-width:600px}.hero h1{font-size:4rem;font-weight:700;letter-spacing:-1px;line-height:1.2;margin-bottom:1.5rem}.highlight{color:var(--primary-color);display:inline-block;position:relative}.highlight:after{background-color:#6c63ff33;border-radius:4px;bottom:5px;content:"";height:8px;left:0;position:absolute;width:100%;z-index:-1}.hero-subtitle{margin-bottom:2rem}.profession{color:var(--primary-color);font-size:1.5rem;font-weight:500;margin-bottom:.5rem}.motto{color:var(--light-text-color);font-size:1.2rem}.hero-buttons{align-items:center;display:flex;gap:1rem}.btn{align-items:center;border-radius:50px;box-shadow:0 4px 15px #0000001a;display:inline-flex;font-weight:600;gap:.5rem;padding:.8rem 1.8rem;text-decoration:none;transition:all .3s ease}.btn-icon{transition:transform .3s ease}.btn:hover .btn-icon{transform:translateX(5px)}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--secondary-color);box-shadow:0 6px 20px #6c63ff4d;transform:translateY(-3px)}.btn-secondary{background-color:initial;border:2px solid var(--primary-color);color:var(--text-color)}.btn-secondary:hover{background-color:#6c63ff1a;box-shadow:0 6px 20px #6c63ff26;transform:translateY(-3px)}.hero-image{align-items:center;display:flex;flex:1 1;justify-content:center;position:relative}.profile-circle{background-color:var(--alt-bg-color);border:5px solid var(--card-bg-color);border-radius:50%;box-shadow:0 10px 30px #0000001a;height:350px;overflow:hidden;position:relative;width:350px}.profile-img{height:100%;object-fit:cover;object-position:center;position:relative;width:100%;z-index:1}.profile-circle:before{animation:rotate 8s linear infinite;background:linear-gradient(45deg,#6c63ff4d,#ff65844d);content:"";height:100%;left:0;mix-blend-mode:overlay;position:absolute;top:0;width:100%;z-index:2}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.scroll-indicator{align-items:center;animation:bounce 2s infinite;bottom:2rem;display:flex;flex-direction:column;left:50%;position:absolute;transform:translateX(-50%)}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0) translateX(-50%)}40%{transform:translateY(-10px) translateX(-50%)}60%{transform:translateY(-5px) translateX(-50%)}}.mouse{border:2px solid var(--primary-color);border-radius:20px;height:50px;margin-bottom:.5rem;position:relative;width:30px}.wheel{animation:scroll 1.5s infinite;background-color:var(--primary-color);border-radius:3px;height:10px;left:50%;position:absolute;top:10px;transform:translateX(-50%);width:6px}@keyframes scroll{0%{opacity:1;transform:translateX(-50%) translateY(0)}to{opacity:0;transform:translateX(-50%) translateY(15px)}}.scroll-text{color:var(--light-text-color);font-size:.9rem}.featured-section{background-color:var(--alt-bg-color);overflow:hidden;padding:8rem 2rem;position:relative}.section-title{font-weight:700;left:50%;margin-bottom:4rem;text-align:center;transform:translateX(-50%)}.skills-container{grid-gap:2.5rem;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px}.skill-card{background-color:var(--card-bg-color);border-radius:16px;box-shadow:var(--card-shadow);overflow:hidden;padding:2.5rem 2rem;position:relative;text-align:center;transition:all .4s ease;z-index:1}.skill-card:before{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));content:"";height:5px;left:0;position:absolute;top:0;width:100%;z-index:-1}.skill-card:hover{box-shadow:0 15px 30px #0000001a;transform:translateY(-10px)}.skill-icon{align-items:center;background-color:#6c63ff1a;border-radius:50%;display:flex;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.icon{color:var(--primary-color);font-size:2.5rem}.skill-card h3{color:var(--text-color);font-size:1.3rem;margin-bottom:1rem}.skill-card p{color:var(--light-text-color);line-height:1.6;margin-bottom:1.5rem}.skill-level{width:100%}.skill-bar{border-radius:4px;height:8px;width:100%}.skill-progress{animation:fillBar 2s ease-out forwards;border-radius:4px;transform-origin:left}@keyframes fillBar{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.featured-awards{background-color:var(--background-color);padding:8rem 2rem;position:relative}.awards-grid{grid-gap:2.5rem;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto 4rem;max-width:1200px}.award-card{display:flex;padding:2rem;position:relative;transition:all .4s ease}.award-card:hover{box-shadow:0 15px 30px #0000001a;transform:translateY(-10px)}.award-icon{align-items:center;background-color:#6c63ff1a;border-radius:50%;display:flex;flex-shrink:0;height:60px;justify-content:center;margin-right:1.5rem;width:60px}.award-icon .icon{color:var(--primary-color);font-size:2rem}.award-content{flex:1 1}.award-card h3{color:var(--text-color);font-size:1.2rem;line-height:1.4;margin-bottom:.5rem}.award-medal{border-radius:50px;margin-bottom:1rem;padding:.3rem 1rem}.award-link{align-items:center;color:var(--primary-color);display:flex;font-size:.9rem;font-weight:500;gap:.5rem;text-decoration:none;transition:all .3s ease}.award-link:hover{color:var(--secondary-color);gap:.8rem}.cta-container{display:flex;justify-content:center;margin-top:3rem}.cta-button{align-items:center;background-color:var(--primary-color);border-radius:50px;box-shadow:0 4px 15px #6c63ff4d;color:#fff;display:inline-flex;font-weight:600;gap:.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease}.cta-button:hover{background-color:var(--secondary-color);box-shadow:0 8px 25px #6c63ff66;gap:.8rem;transform:translateY(-3px)}@media (max-width:992px){.hero-content{flex-direction:column;text-align:center}.hero h1{font-size:3.5rem}.hero-buttons{justify-content:center}.section-title:after{left:50%;transform:translateX(-50%)}.awards-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:768px){.hero h1{font-size:2.8rem}.profession{font-size:1.3rem}.motto{font-size:1.1rem}.hero-buttons{flex-direction:column;width:100%}.btn{justify-content:center;width:100%}.profile-circle{height:280px;width:280px}.skills-container{grid-template-columns:1fr}.award-card{flex-direction:column}.award-icon{margin-bottom:1.5rem;margin-right:0}.featured-awards,.featured-section{padding:5rem 1.5rem}.section-title{font-size:2rem;margin-bottom:3rem}}.about{padding-top:80px;width:100%}.about-header{background:linear-gradient(135deg,#6c63ff1a,#ff65841a);padding:8rem 2rem 6rem;position:relative;text-align:center}.about-header:before{background-image:url('data:image/svg+xml;utf8,<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="10" cy="10" r="2" fill="%236c63ff" opacity="0.3"/></svg>');content:"";height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.about-header h1{-webkit-text-fill-color:#0000;text-fill-color:#0000;background:linear-gradient(45deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;display:inline-block;font-size:3.5rem;margin-bottom:1.5rem}.about-header p{color:var(--light-text-color);font-size:1.3rem;margin:0 auto;max-width:700px}.about-profile{margin:0 auto;max-width:1200px;padding:5rem 2rem}.profile-card{background-color:var(--card-bg-color);border-radius:16px;box-shadow:var(--card-shadow);display:flex;margin-bottom:2rem;overflow:hidden}.profile-image{align-items:center;display:flex;flex:1 1;justify-content:center;padding:2rem}.profile-placeholder{background-color:#f0f0f0;border-radius:50%;height:300px;overflow:hidden;position:relative;width:300px}.profile-info{flex:2 1;padding:3rem}.profile-info h2{color:var(--text-color);font-size:2.5rem;margin-bottom:1rem}.subtitle{color:var(--primary-color);font-size:1.2rem;font-weight:500}.bio,.subtitle{margin-bottom:1.5rem}.bio{color:var(--light-text-color);font-size:1.1rem;line-height:1.8}.motto{background-color:#6c63ff0d;border-left:4px solid var(--primary-color);color:var(--text-color);font-style:italic;padding:1rem}.about-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:0 auto 2rem;max-width:1200px;padding:0 2rem}.tab-btn{background-color:var(--card-bg-color);border:none;border-radius:50px;box-shadow:var(--card-shadow);color:var(--light-text-color);cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s ease}.tab-btn:hover{box-shadow:0 10px 20px #0000001a;color:var(--primary-color);transform:translateY(-3px)}.tab-btn.active{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));color:#fff}.about-section{margin:0 auto;max-width:1200px;min-height:500px;padding:3rem 2rem 5rem}.section-title{color:var(--text-color);display:inline-block;font-size:2.5rem;margin-bottom:3rem;position:relative}.section-title:after{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));border-radius:2px;bottom:-10px;content:"";height:4px;left:0;position:absolute;width:60px}.skills-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.skill-category-card{background-color:var(--card-bg-color);border-radius:16px;box-shadow:var(--card-shadow);padding:2rem;transition:transform .3s ease}.skill-category-card:hover{transform:translateY(-5px)}.category-title{border-bottom:2px solid var(--primary-color);color:var(--text-color);font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:10px;position:relative}.skill-items{grid-gap:1.5rem;display:grid;gap:1.5rem}.skill-item{display:flex;flex-direction:column;gap:.5rem}.skill-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px}.skill-icon{font-size:1.2rem;margin-right:10px}.skill-name{color:var(--text-color);flex:1 1;font-weight:500}.skill-percentage{color:var(--primary-color);font-size:.9rem;font-weight:600}.skill-bar{background-color:var(--alt-bg-color);border-radius:5px;height:10px;overflow:hidden}.skill-progress{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));border-radius:5px;height:100%;transition:width 1s ease}.experience-timeline{margin:0 auto;max-width:800px;padding:2rem 0;position:relative}.experience-timeline:before{background:linear-gradient(to bottom,var(--primary-color),var(--accent-color));border-radius:2px;bottom:0;content:"";left:50%;position:absolute;top:0;transform:translateX(-50%);width:4px}.timeline-item{margin-bottom:3rem;position:relative;width:100%}.timeline-item:nth-child(odd){padding-right:calc(50% + 30px);text-align:right}.timeline-item:nth-child(2n){padding-left:calc(50% + 30px)}.timeline-icon{align-items:center;background:linear-gradient(45deg,var(--primary-color),var(--accent-color));border-radius:50%;box-shadow:0 0 0 4px var(--card-bg-color),0 0 0 8px #6c63ff1a;color:#fff;display:flex;font-size:1.5rem;height:50px;justify-content:center;left:50%;position:absolute;top:0;transform:translateX(-50%);width:50px;z-index:1}.timeline-content{background-color:var(--card-bg-color);border-radius:12px;box-shadow:var(--card-shadow);padding:1.5rem;position:relative}.timeline-content:before{background-color:var(--card-bg-color);content:"";height:20px;position:absolute;top:10px;transform:rotate(45deg);width:20px}.timeline-item:nth-child(odd) .timeline-content:before{right:-10px}.timeline-item:nth-child(2n) .timeline-content:before{left:-10px}.timeline-date{background-color:var(--alt-bg-color);border-radius:20px;color:var(--primary-color);display:inline-block;font-size:.9rem;font-weight:600;margin-bottom:10px;padding:5px 15px}.timeline-content h3{color:var(--text-color);font-size:1.3rem;margin-bottom:10px}.timeline-content p{color:var(--light-text-color);line-height:1.6}.education-cards{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.education-card{background-color:var(--card-bg-color);border-radius:16px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:transform .3s ease}.education-card:hover{transform:translateY(-5px)}.education-icon{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));color:#fff;font-size:2rem;padding:1.5rem;text-align:center}.education-content{display:flex;flex:1 1;flex-direction:column;padding:2rem}.education-content h3{color:var(--text-color);font-size:1.3rem;margin-bottom:1rem}.education-date{color:var(--primary-color);font-size:.9rem;font-weight:600;margin-bottom:1rem}.education-content p{color:var(--light-text-color);flex:1 1;line-height:1.6;margin-bottom:1.5rem}.education-status{align-self:flex-start;border-radius:20px;display:inline-block;font-size:.9rem;font-weight:600;padding:5px 15px}.education-status.current{background-color:#6c63ff1a;color:var(--primary-color)}.education-status.graduated{background-color:#2ecc711a;color:#27ae60}.activities-filter{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.filter-btn{background-color:var(--alt-bg-color);border:none;color:var(--light-text-color);padding:.6rem 1.5rem}.filter-btn:hover{transform:translateY(-2px)}.activities-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.activity-card{background-color:var(--card-bg-color);border-radius:16px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;height:100%;outline:none;overflow:hidden;position:relative;transition:transform .3s ease,box-shadow .3s ease}.activity-card:focus-within,.activity-card:hover{box-shadow:0 10px 20px #0000001a;transform:translateY(-5px)}.activity-card:focus-within:after{border:2px solid var(--primary-color);border-radius:16px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.activity-icon{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));color:#fff;font-size:2rem;padding:1.5rem;text-align:center}.activity-content{display:flex;flex:1 1;flex-direction:column;padding:2rem}.activity-type{align-self:flex-start;background-color:var(--alt-bg-color);border-radius:50px;color:var(--primary-color);display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:1rem;padding:.3rem 1rem}.activity-content h3{color:var(--text-color);font-size:1.3rem;margin-bottom:.5rem}.activity-role{color:var(--primary-color);font-weight:600;margin-bottom:.5rem}.activity-period{color:var(--light-text-color);font-size:.9rem;margin-bottom:1rem}.activity-content p{color:var(--light-text-color);flex:1 1;line-height:1.6}.experience-item .activity-type{background-color:#6c63ff1a;color:var(--primary-color)}.club-item .activity-type{background-color:#ff65841a;color:var(--accent-color)}.awards-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(2,1fr)}.award-card{background-color:var(--card-bg-color);border-radius:16px;box-shadow:var(--card-shadow);height:100%;overflow:hidden;transition:transform .3s ease}.award-card:hover{transform:translateY(-5px)}.award-icon{background:linear-gradient(45deg,var(--primary-color),var(--accent-color));color:#fff;font-size:2rem;padding:1.5rem;text-align:center}.award-content{padding:2rem}.award-content h3{color:var(--text-color);font-size:1.2rem;line-height:1.4;margin-bottom:1rem}.award-category{color:var(--light-text-color);font-size:.9rem;margin-bottom:1rem}.award-medal{background-color:#c0c0c033;border-radius:20px;color:#666;display:inline-block;font-size:.9rem;font-weight:600;margin-right:10px;padding:5px 15px}.award-medal.gold{background-color:#ffd70033;color:#b8860b}.award-medal.bronze{background-color:#cd7f3233;color:#8b4513}.award-year{color:var(--light-text-color);display:inline-block;font-size:.9rem}.certifications-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.certification-card{background-color:var(--card-bg-color);border-radius:16px;box-shadow:var(--card-shadow);display:flex;height:100%;overflow:hidden;transition:transform .3s ease}.certification-card:hover{transform:translateY(-5px)}.certification-icon{align-items:center;background:linear-gradient(45deg,var(--primary-color),var(--accent-color));color:#fff;display:flex;font-size:1.5rem;justify-content:center;min-width:70px;padding:1.5rem}.certification-content{flex:1 1;padding:1.5rem}.certification-content h3{color:var(--text-color);font-size:1.2rem;margin-bottom:.5rem}.certification-content p{color:var(--light-text-color);font-size:.9rem}@media (max-width:992px){.profile-card{flex-direction:column}.profile-image{padding:3rem}.about-section{padding:3rem 1.5rem 4rem}.section-title{font-size:2.2rem}.experience-timeline:before{left:30px}.timeline-item:nth-child(2n),.timeline-item:nth-child(odd){padding-left:80px;padding-right:0;text-align:left}.timeline-icon{left:30px}.timeline-item:nth-child(2n) .timeline-content:before,.timeline-item:nth-child(odd) .timeline-content:before{left:-10px;right:auto}}@media (max-width:768px){.about-header{padding:6rem 1.5rem 4rem}.about-header h1{font-size:2.5rem}.about-header p{font-size:1rem}.activities-filter{flex-wrap:wrap;justify-content:center}.filter-btn{flex:1 1;font-size:.9rem;max-width:120px;min-width:80px;padding:.5rem 1rem;text-align:center}.profile-info{padding:2rem 1.5rem}.profile-info h2{font-size:1.8rem}.subtitle{font-size:1rem}.bio{font-size:.95rem}.about-tabs{gap:8px;padding:0 1rem}.tab-btn{font-size:.9rem;padding:8px 16px}.certifications-grid,.clubs-grid,.education-cards,.skills-container{gap:1.5rem;grid-template-columns:1fr}.award-card,.certification-card,.club-card,.education-card,.skill-category-card{padding:1.5rem}.category-title{font-size:1.3rem}.skill-name{font-size:.9rem}.skill-bar{height:8px}.awards-grid{grid-template-columns:1fr}}.projects{overflow:hidden;padding-top:80px;width:100%}.projects-header{background:linear-gradient(135deg,#6c63ff1a,#ff65841a);padding:8rem 2rem 6rem;position:relative;text-align:center}.projects-header:before{background-image:url('data:image/svg+xml;utf8,<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="10" cy="10" r="2" fill="%236c63ff" opacity="0.3"/></svg>');content:"";height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.projects-header h1{-webkit-text-fill-color:#0000;text-fill-color:#0000;background:linear-gradient(45deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;display:inline-block;font-size:3.5rem;margin-bottom:1.5rem}.projects-header p{color:var(--light-text-color);font-size:1.3rem;margin:0 auto;max-width:700px}.filter-container{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:4rem 0 3rem;padding:0 2rem}.filter-btn{align-items:center;background-color:initial;border:2px solid var(--primary-color);border-radius:50px;box-shadow:0 4px 10px #0000000d;color:var(--text-color);cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.8rem 1.8rem;transition:all .3s ease}.filter-icon{font-size:1.2rem}.filter-btn:hover{background-color:#6c63ff1a;box-shadow:0 6px 15px #0000001a;transform:translateY(-3px)}.filter-btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.projects-grid{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin:0 auto;max-width:1200px;padding:2rem 2rem 8rem}.project-card{background-color:var(--card-bg-color);border-radius:16px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .4s ease}.project-image{background-color:var(--alt-bg-color);background-position:50%;background-size:cover;height:220px;overflow:hidden;position:relative}.project-overlay{background:linear-gradient(180deg,#0000001a,#0009);color:#fff;display:flex;flex-direction:column;height:100%;justify-content:flex-end;left:0;opacity:0;padding:1.5rem;position:absolute;top:0;transition:opacity .3s ease;width:100%}.project-card:hover .project-overlay{opacity:1}.project-icon{font-size:2rem;margin-bottom:.5rem}.project-category{font-size:.9rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.project-details{display:flex;flex-direction:column;flex-grow:1;padding:2rem}.project-details h3{color:var(--text-color);font-size:1.4rem;margin-bottom:1rem}.project-details p{color:var(--light-text-color);flex-grow:1;line-height:1.6;margin-bottom:1.5rem}.project-date{color:var(--primary-color);font-size:.8rem;font-weight:500;margin-bottom:1rem;margin-top:-.5rem}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background-color:var(--alt-bg-color);border-radius:50px;color:var(--light-text-color);font-size:.8rem;font-weight:500;padding:.4rem 1rem;transition:all .3s ease}.tech-tag:hover{transform:translateY(-2px)}.project-link,.tech-tag:hover{background-color:var(--primary-color);color:#fff}.project-link{border-radius:50px;box-shadow:0 4px 10px #6c63ff33;display:inline-block;font-weight:600;padding:.8rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease}.project-link:hover{background-color:var(--secondary-color);box-shadow:0 6px 15px #6c63ff4d;transform:translateY(-3px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@media (max-width:992px){.projects-grid{gap:2rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.projects-header h1{font-size:2.8rem}.projects-header p{font-size:1.1rem}.filter-container{margin:3rem 0 2rem}.filter-btn{font-size:.9rem;padding:.6rem 1.2rem}.projects-grid{grid-template-columns:1fr;padding:1rem 1.5rem 5rem}}.project-actions{display:flex;justify-content:space-between;margin-top:15px}.detail-btn{background-color:initial;border:1px solid var(--primary-color);border-radius:4px;color:var(--primary-color);cursor:pointer;font-size:14px;padding:8px 15px;transition:all .3s ease}.detail-btn.full-width{width:100%}.detail-btn:hover{background-color:var(--primary-color);color:#fff}.project-modal-overlay{align-items:center;background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.project-modal{background-color:var(--card-bg-color);border-radius:8px;box-shadow:0 5px 15px #0000004d;max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:90%}.modal-actions{display:flex;flex-direction:column;gap:20px;margin-top:25px}.project-navigation{display:flex;gap:15px;justify-content:space-between}.project-nav-btn{align-items:center;background-color:var(--alt-bg-color);border:none;border-radius:50px;color:var(--text-color);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:8px;justify-content:center;padding:10px 15px;transition:all .3s ease}.project-nav-btn:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-2px)}.nav-icon{font-size:16px;font-weight:700}.modal-close{align-items:center;background:#0000004d;border:none;border-radius:50%;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;display:flex;font-size:24px;height:36px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .2s ease;width:36px;z-index:10}.modal-close:hover{background:#00000080;transform:scale(1.1)}.modal-image-gallery{overflow:hidden;position:relative}.modal-image{background-position:50%;background-size:cover;border-top-left-radius:8px;border-top-right-radius:8px;height:300px;transition:all .3s ease}.image-navigation{align-items:center;background:linear-gradient(0deg,#000000b3,#0000);bottom:0;display:flex;justify-content:space-between;left:0;padding:10px;position:absolute;right:0}.image-nav-btn{align-items:center;background:#ffffff4d;border:none;border-radius:50%;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:700;height:36px;justify-content:center;transition:all .2s ease;width:36px}.image-nav-btn:hover{background:#ffffff80;transform:scale(1.1)}.image-indicators{display:flex;gap:8px}.image-indicator{background-color:#ffffff80;border-radius:50%;box-shadow:0 1px 3px #0003;cursor:pointer;height:10px;transition:all .2s ease;width:10px}.image-indicator.active{background-color:#fff;box-shadow:0 1px 4px #ffffff80;transform:scale(1.3)}.modal-content{padding:20px}.modal-content h2{color:var(--text-color)}.modal-date{align-items:center;color:var(--primary-color);display:flex;font-size:.9rem;gap:8px;margin:5px 0 15px}.modal-date span{font-weight:600}.modal-description{color:var(--light-text-color);line-height:1.6;margin:15px 0}.modal-tech-stack h3{color:var(--text-color);font-size:18px;margin-bottom:10px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.modal-link{background-color:var(--primary-color);border-radius:50px;box-shadow:0 4px 10px #6c63ff33;color:#fff;display:inline-block;font-weight:600;padding:12px 20px;text-align:center;text-decoration:none;transition:all .3s ease}.modal-link:hover{background-color:var(--secondary-color);box-shadow:0 6px 15px #6c63ff4d;transform:translateY(-2px)}.project-image{cursor:pointer}.contact{padding-top:80px;width:100%}.contact-header{background:linear-gradient(135deg,#6c63ff1a,#ff65841a);padding:8rem 2rem 6rem;position:relative;text-align:center}.contact-header:before{background-image:url('data:image/svg+xml;utf8,<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="10" cy="10" r="2" fill="%236c63ff" opacity="0.3"/></svg>');content:"";height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.contact-header h1{-webkit-text-fill-color:#0000;text-fill-color:#0000;background:linear-gradient(45deg,var(--primary-color),var(--accent-color));-webkit-background-clip:text;background-clip:text;display:inline-block;font-size:3.5rem;margin-bottom:1.5rem}.contact-header p{color:var(--light-text-color);font-size:1.3rem;margin:0 auto;max-width:700px}.contact-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto 5rem;max-width:1200px;padding:5rem 2rem}.contact-card{align-items:center;background-color:var(--card-bg-color);border-radius:16px;box-shadow:var(--card-shadow);display:flex;flex-direction:column;justify-content:center;padding:2.5rem;text-align:center;transition:transform .3s ease}.contact-card:hover{transform:translateY(-10px)}.contact-icon{align-items:center;background-color:#6c63ff1a;border-radius:50%;display:flex;height:80px;justify-content:center;margin-bottom:1.5rem;width:80px}.contact-icon .icon{font-size:2.5rem}.contact-card h3{color:var(--text-color);font-size:1.5rem;margin-bottom:1rem}.contact-card p{color:var(--light-text-color);font-size:1.1rem;margin-bottom:1.5rem}.contact-button{background-color:var(--primary-color);border-radius:50px;color:#fff;display:inline-block;font-weight:600;margin-top:auto;padding:.8rem 1.5rem;text-decoration:none;transition:all .3s ease}.contact-button:hover{background-color:var(--secondary-color);box-shadow:0 5px 15px #0000001a;transform:translateY(-3px)}.email-card .contact-icon{background-color:#6c63ff1a}.github-card .contact-icon{background-color:#3333331a}.discord-card .contact-icon{background-color:#7289da1a}.instagram-card .contact-icon{background-color:#e1306c1a}.contact-form-container{margin:0 auto 5rem;max-width:800px;padding:0 2rem}.contact-form-container h2{color:var(--text-color);font-size:2.2rem;margin-bottom:1rem;text-align:center}.contact-form-container p{color:var(--light-text-color);font-size:1.1rem;margin-bottom:2.5rem;text-align:center}.contact-form{background-color:var(--card-bg-color);border-radius:16px;box-shadow:var(--card-shadow);padding:3rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-color);display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{background-color:var(--alt-bg-color);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-family:inherit;font-size:1rem;padding:.8rem 1rem;transition:all .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #6c63ff33;outline:none}.submit-button{background-color:var(--primary-color);border:none;border-radius:8px;color:#fff;cursor:pointer;display:block;font-size:1.1rem;font-weight:600;margin-top:2rem;padding:1rem;transition:all .3s ease;width:100%}.submit-button:hover:not(:disabled){background-color:var(--secondary-color);box-shadow:0 5px 15px #0000001a;transform:translateY(-3px)}.submit-button:disabled{cursor:not-allowed;opacity:.7}.submit-message{border-radius:8px;font-weight:500;margin-top:1.5rem;padding:1rem;text-align:center}.submit-message.success{background-color:#28a7451a;border:1px solid var(--success-color);color:var(--success-color)}@media (max-width:768px){.contact-header{padding:6rem 1.5rem 4rem}.contact-header h1{font-size:2.5rem}.contact-header p{font-size:1rem}.contact-container{grid-template-columns:1fr;padding:3rem 1.5rem}.contact-card{padding:2rem}.contact-icon{height:70px;width:70px}.contact-card h3{font-size:1.3rem}.contact-card p{font-size:1rem}.contact-button{font-size:.9rem;padding:.7rem 1.3rem}.contact-form-container{margin-bottom:3rem;padding:0 1.5rem}.contact-form-container h2{font-size:1.8rem}.contact-form{padding:2rem 1.5rem}.submit-button{font-size:1rem;padding:.8rem}}.App{display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;position:relative;transition:background-color .5s ease,color .5s ease,border-color .5s ease,box-shadow .5s ease}.main-content{flex:1 1;width:100%}.route-section,.transition-group{position:relative;width:100%}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s ease-in,transform .3s ease-in}.page-exit{opacity:1}.page-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s ease-out,transform .3s ease-out}.main-content{min-height:70vh;padding-bottom:2rem;position:relative}.scroll-animation{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.scroll-animation.animate{opacity:1;transform:translateY(0)}.bg-element{opacity:.5;position:absolute;z-index:-1}.bg-circle{background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));border-radius:50%;filter:blur(60px);height:300px;width:300px}.bg-circle-1{left:-150px;top:10%}.bg-circle-2{bottom:20%;right:-100px}@media (max-width:768px){.main-content{padding:1rem}.bg-circle{height:200px;width:200px}}
/*# sourceMappingURL=main.e3c0b418.css.map*/