*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:Fahkwang,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;color:#fff;line-height:1.6;overflow-x:hidden;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}code{font-family:Fahkwang,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}a:hover{opacity:.8;transition:opacity .3s ease}.container{max-width:1200px;margin:0 auto;padding:0 20px}section{min-height:100vh;padding:100px 0;display:flex;align-items:center;justify-content:center}@media (max-width: 768px){section{min-height:auto;padding:60px 0}p,li,span,div,h1,h2,h3,h4,h5,h6{word-wrap:break-word!important;overflow-wrap:break-word!important;word-break:break-word!important;-webkit-hyphens:auto!important;hyphens:auto!important}html,body{overflow-x:hidden!important;max-width:100vw!important}}.btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-family:"Fahkwang",inherit;font-size:16px;transition:all .3s ease}.btn-primary{background-color:#d4a3d4;color:#000}.btn-primary:hover{background-color:#c492c4}input,textarea{background-color:transparent;border:1px solid #333;color:#fff;padding:15px;border-radius:4px;font-family:"Fahkwang",inherit;font-size:16px;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}input:focus,textarea:focus{outline:none;border-color:#d4a3d4}input::placeholder,textarea::placeholder{color:#666}@media (max-width: 768px){input,textarea,select{font-size:16px!important}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.App{text-align:center;font-family:Fahkwang,sans-serif}.navbar{position:fixed;top:0;left:0;right:0;background-color:#000;z-index:1000;padding:20px 0;border-bottom:1px solid #333}.navbar-toggle{display:none;background:none;border:none;flex-direction:column;gap:4px;cursor:pointer;padding:8px;z-index:1001}.hamburger-line{width:24px;height:2px;background-color:#fff;transition:all .3s ease}.navbar-container{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}.navbar-logo{font-size:24px;font-weight:700;color:#fff;font-family:Fahkwang,sans-serif}.navbar-nav{display:flex;list-style:none;gap:40px}.navbar-nav li a{color:#fff;font-size:16px;font-family:Fahkwang,sans-serif;transition:color .3s ease}.navbar-nav li a:hover{color:#d4a3d4}.hero{min-height:81vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:10px 20px 60px;margin-top:60px}.hero-content{display:flex;align-items:center;gap:60px;max-width:1000px;margin:0 auto}.hero-image{width:400px;height:400px;max-width:80vw;max-height:80vw;border-radius:50%;object-fit:cover;border:4px solid #dedede}.hero-text{text-align:left}.hero-name{font-size:80px;margin-bottom:10px;line-height:1;font-family:Fahkwang,sans-serif}.hero-subtitle{font-size:24px;color:#ccc;margin-bottom:20px;font-family:Fahkwang,sans-serif}.hero-title{font-size:48px;position:relative;margin-bottom:10px;font-family:Fahkwang,sans-serif;white-space:nowrap}.hero-footer{position:absolute;bottom:20px;left:0;right:0;padding:0 60px}.hero-footer-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.resume-section{text-align:left}.resume-section h3{font-size:18px;margin-bottom:10px;font-family:Fahkwang,sans-serif}.resume-btn{background-color:transparent;border:2px solid #fff;color:#fff;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:16px;font-family:Fahkwang,sans-serif}.email-section{text-align:center}.email-section h3{font-size:18px;margin-bottom:10px;font-family:Fahkwang,sans-serif}.email-section a{color:#fff;text-decoration:underline;font-family:Fahkwang,sans-serif}.socials-section{text-align:right}.socials-section h3{font-size:18px;margin-bottom:10px;font-family:Fahkwang,sans-serif}.social-links{display:flex;gap:20px;justify-content:flex-end;align-items:center}.social-links a{color:#fff;font-size:20px;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center}.social-links a svg{width:24px;height:24px;display:block;fill:currentColor}.social-links a:hover{opacity:.7}.copyright{position:absolute;bottom:15px;right:60px;font-size:14px;color:#666;font-family:Fahkwang,sans-serif}.experience{padding:100px 20px;max-width:1200px;margin:0 auto;text-align:left;display:grid;grid-template-columns:300px 1fr;gap:80px;align-items:flex-start}@media (max-width: 768px){.App>section:first-of-type{padding-top:100px}}.experience-left{position:sticky;top:120px;align-self:flex-start}.experience-right{display:flex;flex-direction:column;max-width:750px}.experience h2{font-size:48px;margin-bottom:60px;font-weight:700;font-family:Fahkwang,sans-serif}.experience-item{margin-bottom:80px}.experience-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:20px}.experience-date{font-size:16px;color:#ccc;font-family:Fahkwang,sans-serif}.experience-company{font-size:24px;font-weight:700;margin-bottom:10px;font-family:Fahkwang,sans-serif}.experience-role{font-size:20px;color:#ccc;margin-bottom:20px;font-family:Fahkwang,sans-serif}.experience-description{list-style:none;padding-left:0;font-size:16px;line-height:1.6;font-family:Fahkwang,sans-serif}.experience-description li{margin-bottom:10px;position:relative;padding-left:20px}.experience-description li:before{content:"•";position:absolute;left:0;color:#fff}.projects{padding:100px 20px;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:80px;text-align:left;align-items:flex-start}.projects-left{position:sticky;top:120px;align-self:flex-start}.projects-right{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:60px 60px}.projects h2{font-size:48px;margin-bottom:60px;font-weight:700;font-family:Fahkwang,sans-serif}.project-item{margin-bottom:0}.project-name{font-size:28px;font-weight:700;margin-bottom:0;text-decoration:none;cursor:pointer;font-family:Fahkwang,sans-serif;color:#eee;transition:color .2s ease;border-bottom:1px solid transparent}.project-name:hover{color:#d4a3d4;border-bottom:1px solid #d4a3d4}.project-description{font-size:16px;line-height:1.6;font-family:Fahkwang,sans-serif;list-style:none;padding-left:0}.project-description li{margin-bottom:10px;position:relative;padding-left:15px;word-wrap:break-word;overflow-wrap:break-word;margin-left:0}.project-description li:before{content:"•";position:absolute;left:5px;top:0;color:#fff;width:10px;text-align:center}.project-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.project-link{color:#eee;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;padding:8px;border-radius:4px}.project-link:hover{color:#d4a3d4;background-color:#d4a3d41a;transform:translateY(-2px)}.link-icon{width:20px;height:20px}.blog{padding:100px 20px;max-width:1200px;margin:0 auto;text-align:left;display:grid;grid-template-columns:300px 1fr;gap:80px;align-items:flex-start}.blog-left{position:sticky;top:120px;align-self:flex-start}.blog h2{font-size:48px;margin-bottom:60px;font-weight:700;font-family:Fahkwang,sans-serif}.blog-right{display:flex;flex-direction:column;max-width:750px}.blog-item{margin-bottom:50px;padding-bottom:30px;border-bottom:1px solid #444}.blog-item:last-child{border-bottom:none;padding-bottom:0}.blog-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:20px}.blog-title{font-size:24px;font-weight:700;margin-bottom:10px;font-family:Fahkwang,sans-serif;color:#eee;text-decoration:none;cursor:pointer;transition:color .2s ease}.blog-title:hover{color:#d4a3d4}.blog-date{font-size:16px;color:#ccc;font-family:Fahkwang,sans-serif}.blog-description{font-size:16px;line-height:1.6;font-family:Fahkwang,sans-serif}.contact{padding:100px 20px 120px;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:300px 1fr;gap:80px;align-items:flex-start;min-height:auto}.contact-left{position:sticky;top:120px;align-self:flex-start}.contact h2{font-size:64px;margin:0;font-weight:400;font-family:Fahkwang,sans-serif}.contact-right{max-width:800px}.contact-form{display:flex;flex-direction:column;gap:20px;margin-top:0}.form-group{text-align:left}.form-group label{display:block;margin-bottom:8px;font-size:16px;font-family:Fahkwang,sans-serif}.form-group.required label:after{content:" *";color:#d4a3d4}.contact-textarea{min-height:120px;resize:vertical}.contact-submit{background-color:#d4a3d4;color:#000;border:none;padding:15px 30px;border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;font-family:Fahkwang,sans-serif;transition:background-color .3s ease}.contact-submit:hover{background-color:#c492c4}.footer{padding:50px 30px 60px;border-top:1px solid #333;position:relative}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.footer-section{text-align:left}.footer-section.center{text-align:center}.footer-section.right{text-align:right;margin-top:-15px}.footer-section h3{font-size:18px;margin-bottom:10px;font-family:Fahkwang,sans-serif}.footer-section a{font-family:Fahkwang,sans-serif}.footer-copyright{position:absolute;bottom:30px;right:20px;font-size:14px;color:#666;font-family:Fahkwang,sans-serif}.footer-section.center a{color:#fff;transition:color .3s ease}.footer-section.center a:hover{color:#d4a3d4}@media (max-width: 768px){#root{padding:0;overflow-x:hidden;width:100%}section{overflow-x:hidden;width:100%;max-width:100vw;box-sizing:border-box}*{box-sizing:border-box}p,li,span,div,h1,h2,h3,h4,h5,h6{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.navbar{padding:15px 0}.navbar-container{padding:0 15px}.navbar-toggle{display:flex}.navbar-nav{position:fixed;top:69px;left:0;right:0;background-color:#000;flex-direction:column;padding:20px;gap:20px;transform:translate(-100%);transition:transform .3s ease;border-bottom:1px solid #333}.navbar-nav-open{transform:translate(0)}.navbar-nav li{width:100%;text-align:center}.navbar-nav li a{display:block;padding:10px 0;font-size:18px}.hero{min-height:calc(100vh - 60px);padding:20px 15px 40px}.hero-spacer{display:none}.hero-content{flex-direction:column;gap:30px}.hero-text{text-align:center}.hero-name{font-size:42px}.hero-subtitle{font-size:18px}.hero-title{font-size:24px}.hero-image{width:250px;height:250px}.hero-footer{padding:0 20px;bottom:10px}.hero-footer-content{flex-direction:column;gap:25px;text-align:center}.resume-section,.email-section,.socials-section{text-align:center}.social-links{justify-content:center}.experience{grid-template-columns:1fr;padding:60px 15px;gap:40px;min-height:auto;align-items:flex-start}.experience-left{position:static;text-align:center}.experience h2{font-size:36px;margin-bottom:40px}.experience-item{margin-bottom:50px}.experience-company{font-size:20px}.experience-role{font-size:18px}.experience-description{font-size:14px;line-height:1.5}.experience-description li{margin-bottom:12px;word-wrap:break-word}.projects{grid-template-columns:1fr;padding:60px 15px;gap:40px;min-height:auto;width:100%;max-width:100vw;overflow-x:hidden}.projects-left{position:static;text-align:center}.projects h2{font-size:36px;margin-bottom:40px}.projects-right{grid-template-columns:1fr;gap:40px;width:100%;max-width:calc(100vw - 30px);margin:0;padding:0;text-align:center}.project-item{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box;text-align:center}.project-name{font-size:22px;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%;text-align:center}.project-description{font-size:14px;line-height:1.5;padding-left:0;list-style:none;width:100%;max-width:100%;margin:0;text-align:left;display:inline-block;max-width:90%}.project-description li{margin-bottom:8px;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding-left:15px;position:relative;width:100%;box-sizing:border-box;margin-left:0}.project-description li:before{content:"•";position:absolute;left:5px;top:0;color:#fff;width:10px;text-align:center}.project-header{flex-direction:column;align-items:center;gap:10px}.project-link{padding:6px}.link-icon{width:18px;height:18px}.blog{grid-template-columns:1fr;padding:60px 15px;gap:40px}.blog-left{position:static;text-align:center}.blog h2{font-size:36px;margin-bottom:40px}.blog-title{font-size:20px}.blog-description{font-size:14px}.contact{grid-template-columns:1fr;padding:60px 15px;gap:40px}.contact-left{position:static;text-align:center}.contact h2{font-size:36px}.contact-form{gap:15px}.form-group label{font-size:14px}.contact-submit{width:100%;font-size:18px;padding:15px 30px}.footer{padding:40px 15px 50px}.footer-content{flex-direction:column;gap:30px;text-align:center}.footer-section,.footer-section.center,.footer-section.right{text-align:center!important;margin-top:0}.footer-section h3{text-align:center}.social-links{justify-content:center!important}.footer-copyright{position:static;margin-top:30px;text-align:center}.more-projects{margin-top:60px;padding:0 15px}.more-projects-text{font-size:18px;margin-bottom:15px;white-space:normal;word-wrap:break-word}.github-icon{width:35px;height:35px}.copyright{position:static;margin-top:20px;text-align:center}}@media (max-width: 480px){.hero-name{font-size:36px}.hero-title{font-size:20px}.hero-image{width:200px;height:200px}.experience h2,.projects h2,.blog h2,.contact h2{font-size:28px}.project-name{font-size:20px}.blog-title{font-size:18px}.footer-section h3{font-size:16px}.social-links{gap:15px}}@media (hover: none) and (pointer: coarse){.navbar-nav li a{padding:15px 0}.resume-btn,.contact-submit{min-height:44px}.social-links a{padding:10px}}.section-divider{border:none;border-top:1px solid #ffffff;width:100%;height:2px;margin:0}.more-projects{margin-top:100px;text-align:center;grid-column:1 / -1}.more-projects-text{font-size:24px;font-family:Fahkwang,sans-serif;margin-bottom:12px;white-space:nowrap}.github-icon-link{display:inline-block;color:#fff;transition:transform .3s ease}.github-icon-link:hover{transform:scale(1.1)}.github-icon{width:40px;height:40px;fill:currentColor}.navbar-toggle{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}@media (max-width: 768px){*{-webkit-overflow-scrolling:touch}body{padding-top:0}.App>*:first-child:not(.navbar){padding-top:80px!important}}
