.invalid-feedback[data-astro-cid-smq4oeyx],.empty-feedback[data-astro-cid-smq4oeyx]{display:none}.was-validated[data-astro-cid-smq4oeyx] :placeholder-shown:invalid[data-astro-cid-smq4oeyx]~.empty-feedback[data-astro-cid-smq4oeyx]{display:block}.was-validated[data-astro-cid-smq4oeyx] :not(:placeholder-shown):invalid[data-astro-cid-smq4oeyx]~.invalid-feedback[data-astro-cid-smq4oeyx]{display:block}.is-invalid[data-astro-cid-smq4oeyx],.was-validated[data-astro-cid-smq4oeyx] :invalid[data-astro-cid-smq4oeyx]{border-color:#dc3545}h1[data-astro-cid-smq4oeyx],h2[data-astro-cid-smq4oeyx],p[data-astro-cid-smq4oeyx],label[data-astro-cid-smq4oeyx]{color:var(--brilliant-green)}.contact-section[data-astro-cid-smq4oeyx]{display:flex;flex-direction:column;align-items:center;border:1px solid var(--brilliant-green);padding:1.5rem;width:100%;margin-top:1rem;box-sizing:border-box}.form-section[data-astro-cid-smq4oeyx]{display:flex;flex-direction:column;border:1px solid var(--brilliant-green);padding:1.5rem;width:100%;max-width:500px;box-sizing:border-box}.title-wrapper[data-astro-cid-smq4oeyx]{width:100%;margin-bottom:2rem}.title-container[data-astro-cid-smq4oeyx]{border:1px solid var(--brilliant-green);padding:1rem;text-align:center;margin:0rem}.form-group[data-astro-cid-smq4oeyx]{margin-bottom:1.5rem}.contact-input[data-astro-cid-smq4oeyx],.submit-button[data-astro-cid-smq4oeyx]{border:1px solid var(--brilliant-green);background-color:var(--almost-black);color:var(--brilliant-green);padding:.75rem;width:100%;box-sizing:border-box}.submit-button[data-astro-cid-smq4oeyx]{margin-top:1rem;cursor:pointer}.error-message[data-astro-cid-smq4oeyx]{color:red;font-size:.875rem}.roadmap-section[data-astro-cid-vxnvxd27]{display:flex;flex-direction:column;border:1px solid var(--brilliant-green);padding:1.5rem;width:100%;box-sizing:border-box}.title-wrapper[data-astro-cid-vxnvxd27]{padding-bottom:2rem}.roadmap-container[data-astro-cid-vxnvxd27]{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.roadmap-item[data-astro-cid-vxnvxd27]{border:1px solid var(--brilliant-green);padding:1.5rem;height:100%;box-sizing:border-box;transition:all .3s ease}.roadmap-item[data-astro-cid-vxnvxd27]:hover{transition:all .3s ease;transform:translateY(-5px)}.roadmap-content[data-astro-cid-vxnvxd27]{margin-bottom:1rem}.roadmap-content[data-astro-cid-vxnvxd27] ul[data-astro-cid-vxnvxd27]{list-style-type:none;padding:0;margin:0}.roadmap-content[data-astro-cid-vxnvxd27] li[data-astro-cid-vxnvxd27]{margin-bottom:.5rem;line-height:1.5;color:var(--brilliant-green)}.roadmap-dates[data-astro-cid-vxnvxd27] p[data-astro-cid-vxnvxd27]{margin:0;font-style:italic}h1[data-astro-cid-vxnvxd27],h2[data-astro-cid-vxnvxd27],p[data-astro-cid-vxnvxd27]{color:var(--brilliant-green)}@media (min-width: 768px){.roadmap-container[data-astro-cid-vxnvxd27]{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.roadmap-container[data-astro-cid-vxnvxd27]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 767px){.roadmap-container[data-astro-cid-vxnvxd27]{grid-template-columns:1fr}.roadmap-section[data-astro-cid-vxnvxd27],.roadmap-item[data-astro-cid-vxnvxd27]{padding:1rem}}.stack-container[data-astro-cid-vxnvxd27]{display:flex;flex-direction:row}.stack[data-astro-cid-vxnvxd27]{display:flex;flex:1;align-items:center;justify-content:center;border:1px solid var(--brilliant-green);height:40px;margin:10px;transition:all .3s ease}.stack[data-astro-cid-vxnvxd27]:hover{border:1px solid var(--almost-black);border-radius:5px;color:var(--brilliant-green);transition:all .3s ease}.status[data-astro-cid-vxnvxd27]{display:flex;align-items:center;gap:.5rem}.status-dot[data-astro-cid-vxnvxd27]{width:8px;height:8px;background:var(--brilliant-green);border-radius:50%;animation:pulse 2s infinite}.status-text[data-astro-cid-vxnvxd27]{color:var(--brilliant-green);font-size:.875rem}ul[data-astro-cid-vxnvxd27]{list-style-type:none}.projects-carousel[data-astro-cid-vxnvxd27]{overflow:hidden;width:100%;border:1px solid var(--brilliant-green);margin:20px 0;box-sizing:border-box}.tech-image[data-astro-cid-vxnvxd27]{width:8rem;height:8rem}.project-image[data-astro-cid-vxnvxd27]{width:100%}.carousel-wrapper[data-astro-cid-vxnvxd27]{position:relative;width:100%;overflow:hidden}.title-wrapper[data-astro-cid-vxnvxd27]{padding:1.5rem 1rem 0}.title-container[data-astro-cid-vxnvxd27]{border:1px solid var(--brilliant-green);padding:1rem;text-align:center;margin:0}.row[data-astro-cid-vxnvxd27]{margin:2rem 0;position:relative;width:100%;overflow:hidden;padding-top:5px}.project-container[data-astro-cid-vxnvxd27]{display:flex;gap:1rem;position:relative;width:max-content;padding:0 1rem}.row-left[data-astro-cid-vxnvxd27] .project-container[data-astro-cid-vxnvxd27]{animation:scrollLeft 50s linear infinite}.row-right[data-astro-cid-vxnvxd27] .project-container[data-astro-cid-vxnvxd27]{animation:scrollRight 45s linear infinite}.project-item[data-astro-cid-vxnvxd27]{border:1px solid var(--brilliant-green);padding:1.5rem;min-width:250px;max-width:300px;flex:0 0 auto;transition:all .3s ease;cursor:pointer;text-decoration:none;display:block}.project-item[data-astro-cid-vxnvxd27] h1[data-astro-cid-vxnvxd27],.project-item[data-astro-cid-vxnvxd27] h2[data-astro-cid-vxnvxd27],.project-item[data-astro-cid-vxnvxd27] p[data-astro-cid-vxnvxd27],.project-item[data-astro-cid-vxnvxd27] li[data-astro-cid-vxnvxd27]{color:var(--brilliant-green);transition:color .3s ease}.project-item[data-astro-cid-vxnvxd27]:hover{background-color:var(--brilliant-green);transform:translateY(-5px);box-shadow:0 4px 12px #0000001a}.project-item[data-astro-cid-vxnvxd27]:hover h1[data-astro-cid-vxnvxd27],.project-item[data-astro-cid-vxnvxd27]:hover h2[data-astro-cid-vxnvxd27],.project-item[data-astro-cid-vxnvxd27]:hover p[data-astro-cid-vxnvxd27],.project-item[data-astro-cid-vxnvxd27]:hover li[data-astro-cid-vxnvxd27],.project-item[data-astro-cid-vxnvxd27]:hover .status[data-astro-cid-vxnvxd27] .status-dot[data-astro-cid-vxnvxd27] span[data-astro-cid-vxnvxd27]{color:var(--almost-black)}@keyframes scrollLeft{0%{transform:translate(0)}to{transform:translate(calc(-50% - 1rem))}}@keyframes scrollRight{0%{transform:translate(calc(-50% - 1rem))}to{transform:translate(0)}}.row[data-astro-cid-vxnvxd27]:hover .project-container[data-astro-cid-vxnvxd27]{animation-play-state:paused}@media (max-width: 768px){.project-item[data-astro-cid-vxnvxd27]{min-width:200px;max-width:250px;padding:1rem}.title-wrapper[data-astro-cid-vxnvxd27]{padding:1rem}}.desktop-only[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:space-evenly;width:100px}@media (max-width: 768px){.desktop-only[data-astro-cid-sz7xmlte]{display:none!important}}.image-animated[data-astro-cid-sz7xmlte]{height:100px;width:100px}@media (max-width: 768px){.image-animated[data-astro-cid-sz7xmlte]{height:80px;width:80px}}.svg-icon[data-astro-cid-sz7xmlte]{width:25px;height:25px}.copyright[data-astro-cid-sz7xmlte]{border:1px solid var(--brilliant-green);padding:10px}.copyright-container[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--brilliant-green);height:50vh;max-height:100px}.chinese-text[data-astro-cid-sz7xmlte]{font-size:.8rem;opacity:.7;transition:text-shadow .3s ease-in-out,color .3s ease-in-out;transition:opacity .3s ease-in-out,color .3s ease-in-out}.chinese-text[data-astro-cid-sz7xmlte]:hover{color:var(--brilliant-green);opacity:1;text-shadow:0 0 5px var(--brilliant-green),0 0 10px var(--brilliant-green),0 0 20px var(--brilliant-green),0 0 40px var(--brilliant-green)}.image-animated[data-astro-cid-sz7xmlte]:hover{animation:spin 1s cubic-bezier(.25,1,.5,1) 1}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}nav[data-astro-cid-sz7xmlte]{display:flex;align-items:center;justify-content:space-between;padding:10px 30px 10px 20px;margin:15px 0 10px;border:1px solid var(--brilliant-green);height:25vh;max-height:200px}img[data-astro-cid-sz7xmlte]{height:150px;width:150px}ul[data-astro-cid-sz7xmlte]{display:flex;flex-direction:row;gap:20px;list-style-type:none;margin:0;padding:0}li[data-astro-cid-sz7xmlte]{list-style:none}a[data-astro-cid-sz7xmlte]{text-decoration:none;color:inherit}.lang-switcher[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{padding:4px 8px;border:1px solid var(--brilliant-green);border-radius:4px;transition:all .3s ease}.lang-switcher[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{background-color:var(--brilliant-green);color:var(--almost-black)}h1[data-astro-cid-bbe6dxrz]{font-size:3.5rem;line-height:1;margin:0}p[data-astro-cid-bbe6dxrz]{font-size:clamp(1rem,2vw,1.2rem);max-width:600px;margin:1rem 0}.glitch[data-astro-cid-bbe6dxrz]{position:relative;color:var(--brilliant-green);text-shadow:5px 0 var(--dark-violet),-3px 0 var(--almost-white);transition:color .5s}.name-glitch[data-astro-cid-bbe6dxrz]{position:relative;color:var(--brilliant-green);text-shadow:none;transition:color .5s}.name-glitch[data-astro-cid-bbe6dxrz].violet{color:var(--dark-violet);text-shadow:3px 0 var(--brilliant-green),-2px 0 var(--dark-violet)}.name-glitch-animate[data-astro-cid-bbe6dxrz]{animation:name-glitch 3s linear 5}@keyframes name-glitch{0%{text-shadow:2px 0 var(--dark-violet),-2px 0 var(--brilliant-green)}20%{text-shadow:-2px 0 var(--dark-violet),2px 0 var(--brilliant-green)}40%{text-shadow:2px 2px var(--dark-violet),-2px -2px var(--brilliant-green)}60%{text-shadow:-2px -2px var(--dark-violet),2px 2px var(--brilliant-green)}80%{text-shadow:2px 0 var(--dark-violet),-2px 0 var(--brilliant-green)}to{text-shadow:none}}.glitch-animate[data-astro-cid-bbe6dxrz]{animation:glitch .8s linear 2}@keyframes glitch{0%{text-shadow:2px 0 var(--dark-violet),-2px 0 var(--almost-white)}20%{text-shadow:-2px 0 var(--dark-violet),2px 0 var(--almost-white)}40%{text-shadow:2px 2px var(--dark-violet),-2px -2px var(--almost-white)}60%{text-shadow:-2px -2px var(--dark-violet),2px 2px var(--almost-white)}80%{text-shadow:2px 0 var(--dark-violet),-2px 0 var(--almost-white)}to{text-shadow:none}}.main-container[data-astro-cid-bbe6dxrz]{border:1px solid var(--brilliant-green);margin:20px 0;min-height:85vh;display:flex;align-items:center}.hero-section[data-astro-cid-bbe6dxrz]{width:100%;max-width:1200px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;gap:2rem}.title-container[data-astro-cid-bbe6dxrz]{flex:1}#cube[data-astro-cid-bbe6dxrz]{width:100%;height:clamp(200px,40vh,400px);margin:0 auto}@media (min-width: 768px){.hero-section[data-astro-cid-bbe6dxrz]{flex-direction:row;align-items:center;gap:4rem}#cube[data-astro-cid-bbe6dxrz]{flex:1;max-width:500px}}.roadmap-section[data-astro-cid-xykjftzi]{display:flex;flex-direction:column;border:1px solid var(--brilliant-green);padding:1.5rem;width:100%;box-sizing:border-box}.title-wrapper[data-astro-cid-xykjftzi]{width:100%;margin-bottom:2rem}.title-container[data-astro-cid-xykjftzi]{border:1px solid var(--brilliant-green);padding:1rem;text-align:center;margin:0rem}.roadmap-container[data-astro-cid-xykjftzi]{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.roadmap-item[data-astro-cid-xykjftzi]{border:1px solid var(--brilliant-green);padding:1.5rem;height:100%;box-sizing:border-box;transition:all .3s ease}.roadmap-item[data-astro-cid-xykjftzi]:hover{transition:all .3s ease;transform:translateY(-5px)}.roadmap-content[data-astro-cid-xykjftzi]{margin-bottom:1rem}.roadmap-content[data-astro-cid-xykjftzi] ul[data-astro-cid-xykjftzi]{list-style-type:none;padding:0;margin:0}.roadmap-content[data-astro-cid-xykjftzi] li[data-astro-cid-xykjftzi]{margin-bottom:.5rem;line-height:1.5;color:var(--brilliant-green)}.roadmap-dates[data-astro-cid-xykjftzi] p[data-astro-cid-xykjftzi]{margin:0;font-style:italic}h1[data-astro-cid-xykjftzi],h2[data-astro-cid-xykjftzi],p[data-astro-cid-xykjftzi]{color:var(--brilliant-green)}@media (min-width: 768px){.roadmap-container[data-astro-cid-xykjftzi]{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.roadmap-container[data-astro-cid-xykjftzi]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 767px){.roadmap-container[data-astro-cid-xykjftzi]{grid-template-columns:1fr}.roadmap-section[data-astro-cid-xykjftzi],.roadmap-item[data-astro-cid-xykjftzi]{padding:1rem}}.hex[data-astro-cid-uraohpim]{float:left;margin-left:3px;margin-bottom:-26px;opacity:50%;transform:translateY(var(--initial-y));transition:transform 1.5s ease,opacity 1.5s ease}.hex[data-astro-cid-uraohpim]:hover{transform:translateY(calc(var(--initial-y) - 20px));opacity:100%;transition:transform .3s ease,opacity .3s ease;cursor:pointer}.hex[data-astro-cid-uraohpim] .top[data-astro-cid-uraohpim]{width:0;border-bottom:30px solid var(--brilliant-green);border-left:52px solid transparent;border-right:52px solid transparent}.hex[data-astro-cid-uraohpim] .middle[data-astro-cid-uraohpim]{width:104px;height:60px;background:var(--brilliant-green)}.hex[data-astro-cid-uraohpim] .bottom[data-astro-cid-uraohpim]{width:0;border-top:30px solid var(--brilliant-green);border-left:52px solid transparent;border-right:52px solid transparent}.stack-section[data-astro-cid-46bp54k7]{display:flex;flex-direction:column;border:1px solid var(--brilliant-green);padding:1.5rem;width:100%;box-sizing:border-box;overflow:hidden}.hex-container[data-astro-cid-46bp54k7]{overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;height:500px;padding-top:8px}.hex-row[data-astro-cid-46bp54k7]{display:flex;justify-content:center;flex-wrap:nowrap}.hex-row[data-astro-cid-46bp54k7].even{margin-left:-105px}.title-wrapper[data-astro-cid-46bp54k7]{padding-bottom:2rem}.title-container[data-astro-cid-46bp54k7]{border:1px solid var(--brilliant-green);padding:1rem;text-align:center;margin:0}#theme-toggle[data-astro-cid-x3pjskd3]{position:relative;background:transparent;border:2px solid var(--brilliant-green);border-radius:50%;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;padding:0}#theme-toggle[data-astro-cid-x3pjskd3]:hover{background:var(--brilliant-green);transform:rotate(180deg)}#theme-toggle[data-astro-cid-x3pjskd3]:hover svg[data-astro-cid-x3pjskd3]{color:var(--almost-black)}svg[data-astro-cid-x3pjskd3]{position:absolute;transition:all .3s ease;color:var(--brilliant-green)}.sun-icon[data-astro-cid-x3pjskd3]{opacity:0;transform:rotate(-90deg) scale(0)}.moon-icon[data-astro-cid-x3pjskd3],[data-astro-cid-x3pjskd3][data-theme=light] .sun-icon[data-astro-cid-x3pjskd3]{opacity:1;transform:rotate(0) scale(1)}[data-astro-cid-x3pjskd3][data-theme=light] .moon-icon[data-astro-cid-x3pjskd3]{opacity:0;transform:rotate(90deg) scale(0)}[data-astro-cid-x3pjskd3][data-theme=light] #theme-toggle[data-astro-cid-x3pjskd3]:hover svg[data-astro-cid-x3pjskd3]{color:var(--almost-white)}@media (max-width: 768px){#theme-toggle[data-astro-cid-x3pjskd3]{width:36px;height:36px}svg[data-astro-cid-x3pjskd3]{width:18px;height:18px}}nav[data-astro-cid-5blmo7yk]{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border:1px solid var(--brilliant-green);position:relative;z-index:50;background:var(--bg-primary)}.nav-right[data-astro-cid-5blmo7yk]{display:flex;align-items:center;gap:1rem}img[data-astro-cid-5blmo7yk]{height:50px;width:50px;z-index:101}ul[data-astro-cid-5blmo7yk]{display:flex;gap:20px;list-style-type:none;margin:0;padding:0;align-items:center}li[data-astro-cid-5blmo7yk]{list-style:none}a[data-astro-cid-5blmo7yk]{text-decoration:none;color:inherit}.lang-switcher[data-astro-cid-5blmo7yk] a[data-astro-cid-5blmo7yk]{padding:4px 8px;border:1px solid var(--brilliant-green);border-radius:4px;transition:all .3s ease}.lang-switcher[data-astro-cid-5blmo7yk] a[data-astro-cid-5blmo7yk]:hover{background-color:var(--brilliant-green);color:var(--almost-black)}.mobile-menu-btn[data-astro-cid-5blmo7yk]{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:8px;z-index:101}.hamburger-line[data-astro-cid-5blmo7yk]{width:25px;height:2px;background-color:var(--brilliant-green);transition:all .3s ease}.mobile-menu-btn[data-astro-cid-5blmo7yk].active .hamburger-line[data-astro-cid-5blmo7yk]:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-btn[data-astro-cid-5blmo7yk].active .hamburger-line[data-astro-cid-5blmo7yk]:nth-child(2){opacity:0}.mobile-menu-btn[data-astro-cid-5blmo7yk].active .hamburger-line[data-astro-cid-5blmo7yk]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu-overlay[data-astro-cid-5blmo7yk]{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:1000;opacity:0;transition:opacity .3s ease}.mobile-menu-overlay[data-astro-cid-5blmo7yk].active{display:block;opacity:1}.mobile-menu-drawer[data-astro-cid-5blmo7yk]{position:fixed;top:0;right:-100%;width:80%;max-width:350px;height:100vh;background:var(--bg-primary);border-left:2px solid var(--brilliant-green);z-index:1001;transition:right .3s ease;display:flex;flex-direction:column;overflow-y:auto;box-shadow:-4px 0 10px #00000080}.mobile-menu-drawer[data-astro-cid-5blmo7yk].active{right:0}.mobile-menu-header[data-astro-cid-5blmo7yk]{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--brilliant-green)}.mobile-logo[data-astro-cid-5blmo7yk]{height:40px;width:40px}.close-btn[data-astro-cid-5blmo7yk]{background:transparent;border:1px solid var(--brilliant-green);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--brilliant-green);transition:all .3s ease}.close-btn[data-astro-cid-5blmo7yk]:hover{background:var(--brilliant-green);color:var(--almost-black);transform:rotate(90deg)}.mobile-menu-nav[data-astro-cid-5blmo7yk]{flex:1;padding:2rem 0;display:flex;flex-direction:column;gap:0;list-style:none;margin:0;width:100%}.mobile-menu-nav[data-astro-cid-5blmo7yk] li[data-astro-cid-5blmo7yk]{display:block;list-style:none;margin:0;padding:0;width:100%}.mobile-nav-link[data-astro-cid-5blmo7yk]{display:block;padding:1rem 1.5rem;color:var(--brilliant-green);text-decoration:none;font-size:1.2rem;border-left:3px solid transparent;transition:all .3s ease;width:100%;box-sizing:border-box;text-align:left}.mobile-nav-link[data-astro-cid-5blmo7yk]:hover,.mobile-nav-link[data-astro-cid-5blmo7yk]:active{border-left-color:var(--brilliant-green);background:#a9f20c1a;padding-left:2rem}.mobile-menu-footer[data-astro-cid-5blmo7yk]{padding:1.5rem;border-top:1px solid var(--brilliant-green)}.mobile-controls[data-astro-cid-5blmo7yk]{display:flex;gap:1rem;align-items:center;justify-content:center}.mobile-lang-btn[data-astro-cid-5blmo7yk]{padding:8px 16px;border:1px solid var(--brilliant-green);border-radius:4px;color:var(--brilliant-green);text-decoration:none;transition:all .3s ease;font-weight:600}.mobile-lang-btn[data-astro-cid-5blmo7yk]:hover{background:var(--brilliant-green);color:var(--almost-black)}@media (min-width: 769px){.mobile-menu-btn[data-astro-cid-5blmo7yk],.mobile-menu-overlay[data-astro-cid-5blmo7yk],.mobile-menu-drawer[data-astro-cid-5blmo7yk]{display:none!important}}@media (max-width: 768px){.desktop-nav[data-astro-cid-5blmo7yk]{display:none!important}.mobile-menu-btn[data-astro-cid-5blmo7yk]{display:flex}nav[data-astro-cid-5blmo7yk]{padding:10px 15px}}@media (max-width: 480px){.mobile-menu-drawer[data-astro-cid-5blmo7yk]{width:85%}.mobile-nav-link[data-astro-cid-5blmo7yk]{font-size:1.1rem;padding:.875rem 1.25rem}}
