@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;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}.background{z-index:-2;background-size:200% 200%;width:100%;height:100%;animation:15s infinite gradientMovement;position:fixed;top:0;left:0}.background.dark{background:linear-gradient(125deg,#3d3935,#2a2723,#504a45)}.background.light{background:linear-gradient(125deg,#e6e3df,#b8b2aa,#f3f0ec)}.grid{z-index:-1;width:100%;height:100%;position:fixed;top:0;left:0}.dark-theme .grid{background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:32px 32px}.light-theme .grid{background-image:linear-gradient(#0000001a 1px,#0000 1px),linear-gradient(90deg,#0000001a 1px,#0000 1px);background-size:32px 32px}@keyframes gradientMovement{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes slideIn{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.mobile-menu-overlay{z-index:1002;opacity:0;visibility:hidden;transform-origin:100% 0;background:linear-gradient(125deg,#3d3935,#2a2723,#504a45);justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .4s,visibility .4s,transform .4s cubic-bezier(.77,0,.175,1);display:flex;position:fixed;top:0;left:0;transform:scale(0)}.mobile-menu-overlay.dark{background:linear-gradient(125deg,#3d3935,#2a2723,#504a45)}.mobile-menu-overlay.light{background:linear-gradient(125deg,#e6e3df,#b8b2aa,#f3f0ec)}.mobile-menu-overlay.open{opacity:1;visibility:visible;transform-origin:100% 0;transform:scale(1)}.hamburger{cursor:pointer;z-index:1003;position:fixed;top:20px;right:20px}.mobile-menu-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:90%;max-width:600px;height:auto;max-height:90vh;padding:2rem;display:flex;overflow-y:auto}.mobile-menu-header{flex-direction:column;align-items:center;gap:1rem;display:flex}.memoji{border-radius:50%;width:100px;height:100px}.mobile-menu-header h1{margin:0;font-size:2.5rem}.mobile-menu-links{flex-direction:column;gap:2rem;width:100%;display:flex}.mobile-menu-links a{opacity:.7;font-size:1.8rem;text-decoration:none;transition:all .3s;position:relative}.dark .mobile-menu-links a{color:#e6e3df}.light .mobile-menu-links a{color:#3d3935}.mobile-menu-links a:hover{opacity:1;transform:translateY(-3px)}.mobile-menu-links a:after{content:"";width:0;height:2px;transition:width .3s;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.dark .mobile-menu-links a:after{background-color:#e6e3df}.light .mobile-menu-links a:after{background-color:#3d3935}.mobile-menu-links a:hover:after{width:100%}.mobile-menu-options{justify-content:center;gap:1rem;display:flex}.theme-toggle:active{transform:scale(.95)}.mobile-menu-social{justify-content:center;gap:2rem;display:flex}.dark .mobile-menu-social a{color:#e6e3df}.light .mobile-menu-social a{color:#3d3935}.mobile-menu-social a{opacity:.7;transition:all .3s}.mobile-menu-social a:hover{opacity:1;transform:scale(1.2)}@media (width>=769px){.hamburger{display:none}}.theme-toggle{cursor:pointer;background:0 0;border:2px solid;border-radius:8px;align-items:center;gap:1rem;padding:.5rem 1rem;transition:transform .3s;display:flex}@media (width<=768px){.theme-toggle{transform:none!important}.theme-toggle:hover{transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}}.dark .theme-toggle{color:#e6e3df}.light .theme-toggle{color:#3d3935}.copyright-notice{opacity:.7;text-align:center;margin-top:2rem;font-size:.8rem}.header{z-index:1005;justify-content:space-between;align-items:center;padding:1.5rem 2rem;animation:.6s forwards slideIn;display:flex;position:relative}.logo{align-items:center;display:flex}.nav{align-items:center;gap:2.5rem;display:flex}.dark-theme .nav a{color:#e6e3df;font-size:1.5rem;text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.light-theme .nav a{color:#3d3935;font-size:1.5rem;text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative}.nav a:hover{opacity:1;transform:translateY(-2px)}.nav a:after{content:"";width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.dark-theme .nav a:after{background-color:#e6e3df}.light-theme .nav a:after{background-color:#3d3935}.nav a:hover:after{width:100%}.theme-toggle{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.2rem;transition:all .5s cubic-bezier(.175,.885,.32,1.275);display:flex}.dark-theme .theme-toggle{color:#e6e3df}.light-theme .theme-toggle{color:#3d3935}.theme-toggle:hover{transform:rotate(45deg)scale(1.2)}.memoji-animation{border-radius:50%;width:60px;height:60px;transition:all .5s cubic-bezier(.175,.885,.32,1.275)}.memoji-animation:hover{transform:scale(1.15)rotate(5deg)}@media (width<=768px){.nav{display:none!important}}.hero-section{z-index:1;max-width:800px;margin:4rem auto 0;padding:0 2rem;position:relative}.title{margin-bottom:1.5rem;font-size:4rem;font-weight:800;transition:color .3s;animation:.8s forwards slideIn}.dark-theme .title{color:#e6e3df}.light-theme .title{color:#3d3935}.description{margin-bottom:1.5rem;font-size:1.1rem;line-height:1.6;transition:color .3s;animation:1s forwards slideIn}.dark-theme .description{color:#e6e3df}.light-theme .description{color:#3d3935}.cta-section{margin-top:3rem;animation:1.2s forwards slideIn}.cta-link{border-radius:4px;align-items:center;margin-bottom:1rem;font-size:1.2rem;text-decoration:none;transition:all .5s cubic-bezier(.175,.885,.32,1.275);display:inline-flex;position:relative}.cta-link:hover{transform:translate(8px)scale(1.05)}.dark-theme .cta-link{color:#e6e3df}.light-theme .cta-link{color:#3d3935}.cta-link:hover .arrow{transform:translate(4px)}.arrow{margin-left:.5rem;font-size:1.2rem;transition:transform .4s}.social-links{gap:1rem;margin-top:1rem;animation:1.4s forwards slideIn;display:flex}.social-link{opacity:.8;align-items:center;text-decoration:none;transition:all .5s cubic-bezier(.175,.885,.32,1.275);display:flex}.social-link:hover{opacity:1;transform:translateY(-5px)scale(1.15)}.dark-theme .social-link{color:#e6e3df}.light-theme .social-link{color:#3d3935}.parallax-layer{transition:transform .18s ease-out}.typing-cursor{font-weight:400;animation:.7s infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-cyrillic-ext-400-normal-Q6o0JNvR.woff2)format("woff2"),url(/assets/roboto-mono-cyrillic-ext-400-normal-C4uWV10k.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-cyrillic-400-normal-DEN69lup.woff2)format("woff2"),url(/assets/roboto-mono-cyrillic-400-normal-B6g5SoKk.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-greek-400-normal-BdERMBEW.woff2)format("woff2"),url(/assets/roboto-mono-greek-400-normal-Dp0HotGv.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-vietnamese-400-normal-BJn9WoS4.woff2)format("woff2"),url(/assets/roboto-mono-vietnamese-400-normal-BJbtp2UX.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-latin-ext-400-normal-D_EPU6CM.woff2)format("woff2"),url(/assets/roboto-mono-latin-ext-400-normal-CFnj-Ilb.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/roboto-mono-latin-400-normal-C_5wUCW5.woff2)format("woff2"),url(/assets/roboto-mono-latin-400-normal-B0u6u4eV.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.light-theme .category-button{color:#3d3935;border-color:#3d393533}.light-theme .category-button:hover{background:#3d39350d}.light-theme .category-button.active{color:#3d3935;background:#3d39351a;border-color:#3d393533}*{box-sizing:border-box;margin:0;padding:0}.project-image-container{border-radius:8px;width:100%;height:200px;margin-bottom:1rem;overflow:hidden}.project-image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.project-card:hover .project-image{transform:scale(1.05)}*{scrollbar-width:thin;scrollbar-color:#8080804d transparent}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:#8080804d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#80808080}.projects-section{z-index:1;max-width:1200px;margin:4rem auto 0;padding:0 2rem;position:relative}.projects-container{width:100%}.projects-header{justify-content:center;align-items:center;margin-bottom:3rem;display:flex}.section-title{letter-spacing:-.05em;color:var(--text-primary);text-align:center;font-size:3rem;font-weight:700}.theme-toggle{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:transform .3s,color .3s}.theme-toggle:hover{color:var(--text-primary);transform:rotate(20deg)}.project-categories{justify-content:center;gap:1rem;margin-bottom:3rem;display:flex}.category-button{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border-radius:6px;padding:.5rem 1rem;font-size:.8rem;font-weight:500;transition:all .3s}.category-button:hover{background:var(--hover-color)}.category-button.active{color:var(--text-primary);background:#ffffff1a;border-color:#fff3}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.project-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;padding:2rem;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s;display:flex}.project-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px #0003}.project-title{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.project-date{color:var(--text-secondary);margin-bottom:1rem;font-size:.8rem;font-style:italic}.project-description{color:var(--text-secondary);flex-grow:1;margin-bottom:1.5rem;line-height:1.6}.project-technologies{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.tech-tag{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:#ffffff0d;border-radius:4px;padding:.25rem .5rem;font-size:.7rem;font-weight:500}.project-links{gap:1rem;margin-top:auto;display:flex}.project-link{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.9rem;text-decoration:none;transition:all .3s;display:flex}.project-link:hover{color:var(--text-primary);transform:translate(3px)}.project-link svg{transition:transform .3s}.project-link:hover svg{transform:scale(1.1)}@media screen and (width<=768px){.projects-grid{grid-template-columns:1fr}.section-title{font-size:2.5rem}.project-categories{flex-wrap:wrap;justify-content:center}.category-button{text-align:center;flex-grow:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.projects-grid .project-card{animation:.6s backwards fadeIn;animation-delay:calc(var(--animation-order) * .1s)}.projects-grid{transition:opacity .2s}.projects-grid.animating{opacity:0}.projects-section{z-index:1;background:0 0;max-width:1200px;margin:4rem auto 0;padding:0 2rem;position:relative}.project-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform-style:preserve-3d;border-radius:8px;padding:1.5rem;transition:all .3s;position:relative;box-shadow:0 8px 32px #0003;background:#1e1e1eb3!important}.light-theme .project-card{background:#ffffffb3!important}.fullscreen-overlay{z-index:1000;background-color:#000000f2;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.fullscreen-image-container{justify-content:center;align-items:center;width:90vw;height:90vh;display:flex;position:relative}.fullscreen-image{object-fit:contain;max-width:100%;max-height:100%}.carousel-container{background:var(--bg-primary);cursor:zoom-in;border-radius:10px;width:100%;height:200px;margin-bottom:1.25rem;position:relative;overflow:hidden}.carousel-container.single{cursor:zoom-in}.carousel-image{object-fit:cover;width:100%;height:100%;transition:opacity .25s;display:block}.carousel-spinner{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.carousel-btn{color:#fff;cursor:pointer;opacity:0;z-index:2;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;line-height:1;transition:opacity .2s,background .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-container:hover .carousel-btn{opacity:1}.carousel-prev{left:.5rem}.carousel-next{right:.5rem}.carousel-btn:hover{background:#000000b3}.carousel-dots{z-index:2;gap:5px;display:flex;position:absolute;bottom:.5rem;left:50%;transform:translate(-50%)}.carousel-dot{cursor:pointer;background:#ffffff80;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:background .2s,transform .2s}.carousel-dot.active{background:#fff;transform:scale(1.3)}.carousel-counter{color:#fff;z-index:2;letter-spacing:.04em;background:#00000073;border-radius:10px;padding:2px 7px;font-size:.7rem;position:absolute;top:.5rem;right:.6rem}.carousel-expand-hint{opacity:0;z-index:2;pointer-events:none;font-size:.75rem;transition:opacity .2s;position:absolute;bottom:.5rem;right:.6rem}.carousel-container:hover .carousel-expand-hint{opacity:.8}.lightbox-overlay{z-index:9999;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;animation:.2s lightbox-fade-in;display:flex;position:fixed;inset:0}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-image{object-fit:contain;cursor:default;border-radius:8px;max-width:90vw;max-height:88vh;animation:.2s lightbox-scale-in;box-shadow:0 8px 40px #0009}@keyframes lightbox-scale-in{0%{opacity:0;transform:scale(.93)}to{opacity:1;transform:scale(1)}}.lightbox-close{color:#fff;cursor:pointer;z-index:10000;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.8rem;line-height:1;transition:background .2s;display:flex;position:fixed;top:1.25rem;right:1.5rem}.lightbox-close:hover{background:#ffffff40}.lightbox-btn{color:#fff;cursor:pointer;z-index:10000;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;transition:background .2s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-btn:hover{background:#ffffff47}.lightbox-prev{left:1.25rem}.lightbox-next{right:1.25rem}.lightbox-counter{color:#ffffffb3;letter-spacing:.06em;z-index:10000;font-size:.85rem;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%)}.contact-section{z-index:1;max-width:1200px;margin:4rem auto 0;padding:0 1.5rem;position:relative}.contact-container{width:100%}.contact-header{justify-content:center;margin-bottom:2rem;padding:0 1rem;display:flex}.contact-content{grid-template-columns:1fr 1.5fr;gap:2rem;display:grid}.contact-info{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;height:fit-content;padding:1.5rem}.contact-info h3{color:var(--text-primary);margin-bottom:1rem;font-size:clamp(1.5rem,4vw,1.8rem);font-weight:600}.contact-info p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:clamp(.9rem,2vw,1rem);line-height:1.6}.contact-details{margin-bottom:1.5rem}.contact-item{color:var(--text-secondary);word-break:break-word;align-items:center;margin-bottom:1rem;font-size:clamp(.85rem,2vw,1rem);display:flex}.contact-icon{min-width:1.2rem;margin-right:.75rem;font-size:1.2rem}.contact-social{flex-wrap:wrap;gap:.75rem;display:flex}.social-button{color:var(--text-secondary);background:#ffffff0d;border-radius:6px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:clamp(.85rem,2vw,.95rem);text-decoration:none;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex}.social-button:hover{color:var(--text-primary);background:#ffffff1a;transform:translateY(-3px)}.contact-form-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem}.contact-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;display:flex}.form-group label{color:var(--text-secondary);margin-bottom:.5rem;font-size:clamp(.8rem,2vw,.9rem)}.form-group input,.form-group textarea{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);resize:vertical;box-sizing:border-box;border-radius:6px;width:100%;padding:.8rem 1rem;font-family:inherit;font-size:clamp(.9rem,2vw,1rem);transition:border-color .3s,box-shadow .3s}.form-group input:focus,.form-group textarea:focus{border-color:#3498db80;outline:none;box-shadow:0 0 0 2px #3498db33}.submit-button{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:6px;width:fit-content;margin-top:1rem;padding:.8rem 1.5rem;font-size:clamp(.9rem,2vw,1rem);font-weight:600;transition:all .3s;display:inline-block}.submit-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.submit-button:active{transform:translateY(0)}.submit-button.submitting{opacity:.7;cursor:not-allowed}.form-status{border-radius:6px;margin-top:1.5rem;padding:.8rem 1rem;font-size:clamp(.85rem,2vw,.95rem);font-weight:500}.form-status.success{color:#2ecc71;background-color:#2ecc711a;border:1px solid #2ecc714d}.dark-theme .form-status.success{color:#2ecc71}.light-theme .form-status.success{color:#27ae60}.form-status.error{color:#e74c3c;background-color:#e74c3c1a;border:1px solid #e74c3c4d}.dark-theme .form-status.error{color:#e74c3c}.light-theme .form-status.error{color:#c0392b}.light-theme .contact-info,.light-theme .contact-form-container{background:var(--bg-secondary);border-color:var(--border-color)}.light-theme .social-button{background:#3d39350d}.light-theme .social-button:hover{background:#3d39351a}.light-theme .form-group input,.light-theme .form-group textarea{background:var(--bg-primary);border-color:var(--border-color)}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.contact-info,.contact-form-container{animation:.6s ease-out fadeSlideUp}@media screen and (width<=992px){.contact-content{grid-template-columns:1fr 1.5fr;gap:1.5rem}.contact-info,.contact-form-container{padding:1.25rem}}@media screen and (width<=768px){.contact-content{grid-template-columns:1fr;gap:1.5rem}.contact-info{margin-bottom:0}.contact-section{margin:3rem auto}}@media screen and (width<=576px){.contact-section{margin:2rem auto;padding:0 1rem}.submit-button{text-align:center;width:100%}.contact-info h3{margin-bottom:.75rem}.contact-info p{margin-bottom:1.25rem}.contact-item{flex-direction:row;align-items:flex-start}.contact-details{margin-bottom:1.25rem}.contact-social{justify-content:flex-start;gap:.75rem}.social-button{padding:.5rem .8rem}}@media screen and (width<=375px){.contact-info,.contact-form-container{padding:1rem}.contact-social{flex-direction:column;gap:.5rem}.social-button{justify-content:center;width:100%}}.textarea-wrapper{position:relative}.textarea-wrapper textarea{border:1px solid var(--border-color);background:var(--bg-primary);width:100%;color:var(--text-primary);resize:vertical;box-sizing:border-box;border-radius:6px;padding:.8rem 1rem 2.5rem;font-family:inherit;font-size:clamp(.9rem,2vw,1rem);transition:border-color .3s,box-shadow .3s}.textarea-wrapper textarea:focus{border-color:#3498db80;outline:none;box-shadow:0 0 0 2px #3498db33}.char-counter{color:var(--text-secondary);pointer-events:none;background-color:#0000;padding-left:.4rem;font-size:.75rem;transition:color .2s;position:absolute;bottom:.6rem;right:1rem}.limit-reached{color:#e74c3c!important}.light-theme .char-counter,.dark-theme .char-counter{color:var(--text-secondary)}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);flex-shrink:0;padding:3rem 0 5rem;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.footer-container{max-width:1200px;margin:0 auto;padding:0 2rem}.footer-content{grid-template-columns:1fr 1fr 1fr;gap:2rem;margin-bottom:2rem;display:grid}.footer-left{flex-direction:column;display:flex}.footer-logo{color:var(--text-primary);letter-spacing:-.05em;margin-bottom:.5rem;font-size:2rem;font-weight:800}.footer-tagline{color:var(--text-secondary);font-size:.9rem}.footer-center{justify-content:center;display:flex}.footer-nav{flex-direction:row;gap:.8rem;display:flex}.footer-link{color:var(--text-secondary);font-weight:500;text-decoration:none;transition:all .3s}.footer-link:hover{color:var(--text-primary);transform:translateY(-3px)}.footer-right{justify-content:flex-end;display:flex}.footer-social{flex-wrap:wrap;justify-content:flex-end;gap:1rem;display:flex}.footer-social-link{color:var(--text-secondary);font-size:1.2rem;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.footer-social-link:hover{color:var(--text-primary);transform:translateY(-3px)}.footer-bottom{border-top:1px solid var(--border-color);color:var(--text-secondary);justify-content:space-between;align-items:center;padding-top:1.5rem;font-size:.85rem;display:flex}.heart-icon{color:#e25555;margin:0 .2rem;animation:1.5s infinite pulse}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@media screen and (width<=768px){.footer-content{text-align:center;grid-template-columns:1fr;gap:2rem}.footer-left{align-items:center}.footer-right,.footer-social{justify-content:center}.footer-bottom{text-align:center;flex-direction:column;gap:1rem}}.scroll-progress-bar{background:linear-gradient(90deg, var(--accent-color) 0%, var(--text-primary) 100%);z-index:9999;border-radius:0 2px 2px 0;height:3px;transition:width 80ms linear;position:fixed;top:0;left:0}.back-to-top{color:#e6e3df;cursor:pointer;z-index:1000;opacity:0;pointer-events:none;background:#504a45d9;border:1px solid #e6e3df33;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;transition:opacity .3s,transform .3s,background .3s,box-shadow .3s;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(12px);box-shadow:0 4px 16px #00000040}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.back-to-top:hover{background:#504a45;transform:translateY(-3px);box-shadow:0 6px 20px #00000059}.light-theme .back-to-top{color:#f3f0ec;background:#3d3935d9;border-color:#3d393533}.light-theme .back-to-top:hover{background:#3d3935}@media (width<=768px){.back-to-top{width:40px;height:40px;bottom:1.25rem;right:1.25rem}}:root{--color-text-light:#3d3935;--color-background-light:#fff;--color-text-dark:#e6e3df;--color-background-dark:#121212}html{scroll-behavior:smooth;overscroll-behavior-y:none;background-color:#1e1e1e}html.light-theme{background-color:#fff}body{overscroll-behavior-y:none;margin:0;padding:0;font-family:Inter,sans-serif;font-weight:400;line-height:1.6;transition:color .3s,background-color .3s;overflow-x:hidden}body.light-theme{color:var(--color-text-light);background-color:#0000}body.dark-theme{color:var(--color-text-dark);background-color:#0000}h1,h2,h3,h4,h5,h6{margin-bottom:1rem;font-family:Inter,sans-serif;font-weight:600}a{color:var(--color-primary);font-family:Inter,sans-serif;text-decoration:none;transition:color .3s}a:hover{color:var(--color-secondary)}.app{flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative}.main-content{flex:1 0 auto;padding-bottom:3rem}.app>*{animation-duration:.8s;animation-timing-function:ease;animation-fill-mode:both;animation-delay:calc(var(--animation-order,0) * .1s)}@media (width<=768px){body{font-size:16px}h1{font-size:2rem}h2{font-size:1.75rem}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-background-light)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}.dark-theme ::-webkit-scrollbar-track{background:var(--color-background-dark)}:root{--bg-primary:#121212;--bg-secondary:#1e1e1e;--text-primary:#e6e3df;--text-secondary:#a0a0a0;--border-color:#e6e3df1a;--hover-color:#e6e3df0d;--accent-color:#504a45}.light-theme{--bg-primary:#f5f5f5;--bg-secondary:#fff;--text-primary:#3d3935;--text-secondary:#666;--border-color:#3d39351a;--hover-color:#3d39350d;--accent-color:#2a2723}.experience-section{z-index:1;width:100%;max-width:1200px;margin:4rem auto 0;padding:0 2rem;position:relative}.experience-container{flex-direction:column;align-items:center;width:100%;margin:0 auto;display:flex}.experience-header{justify-content:center;margin-bottom:3rem;padding:0 1rem;display:flex}.section-title{text-align:center;font-size:clamp(1.8rem,5vw,2.5rem)}.personal-section{width:100%;max-width:1000px;margin:0 auto 4rem}.personal-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;align-items:center;gap:2.5rem;margin-bottom:1.25rem;padding:2.5rem;display:flex}.personal-image-wrap{flex-shrink:0}.profile-image{object-fit:cover;object-position:center 20%;border:3px solid var(--border-color);border-radius:50%;width:150px;height:150px;transition:transform .3s,box-shadow .3s;display:block;box-shadow:0 8px 32px #00000026}.profile-image:hover{transform:scale(1.04);box-shadow:0 12px 40px #0003}.personal-text{flex:1;min-width:0}.intro-title{color:var(--text-primary);margin-bottom:.75rem;font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.intro-description{color:var(--text-secondary);margin:0;font-size:clamp(.95rem,2.5vw,1.05rem);line-height:1.75}.personal-stats{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:.45rem;padding:1.25rem 1rem;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex}.stat-card:hover{border-color:var(--text-secondary);transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.stat-icon{color:var(--text-secondary);margin-bottom:.1rem;font-size:1.3rem}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;font-weight:500}.stat-value{color:var(--text-primary);font-size:.92rem;font-weight:600;line-height:1.3}.values-section{margin-bottom:4rem}.values-title{color:var(--text-primary);text-align:center;margin-bottom:2.5rem;font-size:clamp(1.5rem,4vw,1.8rem);font-weight:600}.values-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.value-card{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;opacity:0;transition:transform .3s,box-shadow .3s,border-color .3s,opacity .55s;transition-delay:calc(var(--animation-order,0) * .12s);border-radius:12px;padding:2rem;transform:translateY(24px)}.values-section.is-visible .value-card{opacity:1;transform:translateY(0)}.value-card:hover{border-color:var(--text-secondary);transform:translateY(-8px);box-shadow:0 12px 30px #00000026}.value-icon{background:linear-gradient(135deg, var(--accent-color), #504a45cc);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;margin:0 auto 1.5rem;font-size:1.5rem;display:flex}.value-title{color:var(--text-primary);margin-bottom:1rem;font-size:clamp(1.1rem,3vw,1.3rem);font-weight:600}.value-description{color:var(--text-secondary);margin:0;font-size:clamp(.9rem,2vw,1rem);line-height:1.6}.motivation-section{margin-bottom:4rem}.motivation-title{color:var(--text-primary);text-align:center;margin-bottom:2.5rem;font-size:clamp(1.5rem,4vw,1.8rem);font-weight:600}.motivation-content{grid-template-columns:2fr 1fr;align-items:start;gap:3rem;width:100%;max-width:1000px;margin:0 auto;display:grid}.motivation-story{flex-direction:column;gap:2rem;height:fit-content;display:flex}.story-item{background:var(--bg-secondary);border:1px solid var(--border-color);opacity:0;transition:transform .3s,box-shadow .3s,border-color .3s,opacity .55s;transition-delay:calc(var(--animation-order,0) * .12s);border-radius:12px;gap:1.5rem;padding:1.5rem;display:flex;transform:translateY(24px)}.motivation-section.is-visible .story-item,.motivation-section.is-visible .motivation-quote{opacity:1;transform:translateY(0)}.story-item:hover{border-color:var(--text-secondary);transform:translateY(-10px);box-shadow:0 8px 25px #0000001a}.story-icon{background:linear-gradient(135deg, var(--accent-color), #504a45cc);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;font-size:1.3rem;display:flex}.story-text{flex:1}.story-title{color:var(--text-primary);margin-bottom:.75rem;font-size:clamp(1.1rem,3vw,1.3rem);font-weight:600}.story-description{color:var(--text-secondary);margin:0;font-size:clamp(.9rem,2vw,1rem);line-height:1.6}.motivation-quote{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;opacity:0;height:100%;min-height:fit-content;transition:transform .5s ease-out,border-color .3s,opacity .55s;transition-delay:calc(var(--animation-order,0) * .12s);border-radius:16px;flex-direction:column;justify-content:space-between;padding:2rem;display:flex;position:relative;overflow:hidden;transform:translateY(24px)}.motivation-quote:hover{border-color:var(--text-secondary);transform:translateY(-10px)}.quote-item{opacity:1;flex-direction:column;flex:1;justify-content:center;padding:1rem 0;transition:all .5s;display:flex;position:relative;transform:translate(0)}.quote-item:first-child,.quote-item:last-of-type{transform:none}.quote-author{opacity:0;color:var(--text-secondary);margin-top:.5rem;font-style:italic;transition:opacity .5s}.quote-item:hover{opacity:1;transition-delay:.3s;transform:translate(0)}.quote-author-image{opacity:0;object-fit:contain;width:140px;height:180px;transition:all .8s ease-out;position:absolute}.gates-image{transform-origin:0;top:50%;left:-160px;transform:translateY(-50%)}.jobs-image{transform-origin:100%;top:50%;right:-160px;transform:translateY(-50%)}@keyframes peekingAnimationJobs{0%{opacity:0;right:-100px;transform:translateY(-50%)rotate(0)}50%{opacity:1;right:-40px;transform:translateY(-50%)rotate(-30deg)}to{opacity:1;right:-20px;transform:translateY(-50%)rotate(-15deg)}}@media (hover:hover){.motivation-quote:hover .quote-author{opacity:1;transition-delay:.3s}.motivation-quote:hover .gates-image{opacity:1;animation:1s forwards peekingAnimation}.motivation-quote:hover .jobs-image{opacity:1;animation:1s forwards peekingAnimationJobs}}.quote-active{border-color:var(--text-secondary);transform:translateY(-10px)}.quote-active .quote-author{opacity:1;transition-delay:.3s}.quote-active .gates-image{opacity:1;animation:1s forwards peekingAnimation}.quote-active .jobs-image{opacity:1;animation:1s forwards peekingAnimationJobs}@media (hover:none){.motivation-quote{cursor:pointer;transition:all .3s}.motivation-quote:active{transform:scale(.98)}.motivation-quote:active .quote-author,.motivation-quote:focus .quote-author{opacity:1;transition-delay:.3s}.motivation-quote:active .gates-image,.motivation-quote:focus .gates-image{opacity:1;animation:1s forwards peekingAnimation}.motivation-quote:active .jobs-image,.motivation-quote:focus .jobs-image{opacity:1;animation:1s forwards peekingAnimationJobs}}.timeline{max-width:800px;margin:0 auto;padding:2rem 0;position:relative}.timeline-item{opacity:0;transition:opacity .6s,transform .6s;transition-delay:calc(var(--animation-order,0) * .18s);margin-bottom:4rem;padding-left:3rem;position:relative;transform:translateY(24px)}.timeline.is-visible .timeline-item{opacity:1;transform:translateY(0)}.timeline-item:last-child{margin-bottom:0}.timeline-dot{background-color:var(--timeline-dot-color);z-index:2;width:1.5rem;height:1.5rem;box-shadow:0 0 0 4px var(--bg-primary), 0 0 0 6px #3d39354d;border-radius:50%;transition:transform .3s,box-shadow .3s;position:absolute;top:.5rem;left:0}.timeline-item:hover .timeline-dot{box-shadow:0 0 0 4px var(--bg-primary), 0 0 0 6px #504a4580;transform:scale(1.2)}.timeline-line{background-color:var(--timeline-line-color);z-index:1;width:2px;position:absolute;top:2.5rem;bottom:-4rem;left:.75rem;transform:translate(-50%)}.timeline-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:transform .3s,box-shadow .3s}.timeline-item:hover .timeline-content{border-color:var(--text-secondary);transform:translateY(-5px);box-shadow:0 10px 20px #0000001a}.timeline-header{gap:1rem;margin-bottom:1rem;display:flex}.timeline-title{color:var(--text-primary);flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.5rem;font-size:clamp(1.3rem,3vw,1.5rem);font-weight:600;display:flex}.timeline-company{color:var(--timeline-dot-color);font-size:.9em;font-weight:400}.timeline-period{color:var(--text-secondary);margin-bottom:1rem;font-size:clamp(.85rem,2vw,.9rem);font-style:italic}.timeline-description{color:var(--text-secondary);margin-bottom:1.5rem;font-size:clamp(.9rem,2vw,1rem);line-height:1.6}.timeline-technologies{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.company-logo{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:3rem;height:3rem;display:flex;overflow:hidden}.company-logo img{object-fit:contain;width:100%;height:100%}.default-logo{color:var(--text-primary);justify-content:center;align-items:center;font-size:1.5rem;display:flex}.skills-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;margin-top:5rem;padding:2rem}.skills-title{color:var(--text-primary);text-align:center;margin-bottom:2rem;font-size:clamp(1.5rem,4vw,1.8rem);font-weight:600}.skills-container{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.skill-group{opacity:0;transition:opacity .55s,transform .55s;transition-delay:calc(var(--animation-order,0) * .1s);transform:translateY(20px)}.skills-section.is-visible .skill-group{opacity:1;transform:translateY(0)}.skill-category{color:var(--timeline-dot-color);margin-bottom:1rem;padding-bottom:.5rem;font-size:clamp(1.1rem,3vw,1.3rem);font-weight:600;position:relative}.skill-category:after{content:"";background-color:var(--timeline-dot-color);border-radius:3px;width:3rem;height:3px;position:absolute;bottom:0;left:0}.skill-tags{flex-wrap:wrap;gap:.8rem;display:flex}.skill-tag{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:30px;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.9rem;transition:all .3s;display:flex}.skill-tag:hover{color:var(--text-primary);border-color:var(--text-secondary);transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}.skill-icon{color:var(--text-primary);font-size:1.1rem}.tech-tag{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;background:#ffffff0d;border-radius:4px;align-items:center;gap:.3rem;padding:.25rem .5rem;font-size:.7rem;font-weight:500;transition:all .3s;display:inline-flex}.tech-tag:hover{color:var(--text-primary);transform:translateY(-2px)}.light-theme .tech-tag{color:#666;background:#3d39350d}.supervisor-info{border-top:1px solid var(--border-color);margin-bottom:1.5rem;padding:.5rem 0;font-size:clamp(.8rem,2vw,.9rem)}.supervisor-text,.supervisor-name{color:var(--text-secondary)}.supervisor-separator{color:var(--text-secondary);margin:0 .5rem}.supervisor-contact{color:var(--text-secondary);text-decoration:none;transition:color .3s}.supervisor-contact:hover{color:var(--text-primary);text-decoration:underline}@keyframes slideFromLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes peekingAnimation{0%{opacity:0;left:-100px;transform:translateY(-50%)rotate(0)}50%{opacity:1;left:-40px;transform:translateY(-50%)rotate(30deg)}to{opacity:1;left:-20px;transform:translateY(-50%)rotate(15deg)}}@media screen and (width<=992px){.personal-stats{grid-template-columns:repeat(2,1fr)}.timeline{padding:1.5rem 0}.timeline-item{padding-left:2.5rem}.motivation-content{grid-template-columns:1fr;gap:2rem}.motivation-quote{height:auto;min-height:auto}}@media screen and (width<=768px){.personal-card{text-align:center;flex-direction:column;gap:1.5rem;padding:2rem 1.5rem}.timeline-content{padding:1.25rem}.skills-section{padding:1.5rem}.skills-container{grid-template-columns:1fr;gap:2rem}.personal-content{text-align:center;grid-template-columns:1fr;gap:2rem}.personal-image{order:-1}.motivation-content{grid-template-columns:1fr;gap:2rem}.motivation-quote{height:auto;padding:1.5rem}.quote-author-image{width:100px;height:140px}.gates-image{left:-120px}.jobs-image{right:-120px}@keyframes peekingAnimation{0%{opacity:0;left:-120px;transform:translateY(-50%)rotate(0)}50%{opacity:1;left:-30px;transform:translateY(-50%)rotate(30deg)}to{opacity:1;left:-15px;transform:translateY(-50%)rotate(15deg)}}@keyframes peekingAnimationJobs{0%{opacity:0;right:-120px;transform:translateY(-50%)rotate(0)}50%{opacity:1;right:-30px;transform:translateY(-50%)rotate(-30deg)}to{opacity:1;right:-15px;transform:translateY(-50%)rotate(-15deg)}}.motivation-quote{cursor:pointer;-webkit-tap-highlight-color:transparent}.quote-active{transform:translateY(-5px)}blockquote{font-size:clamp(.9rem,4vw,1.1rem);line-height:1.5}.quote-author{font-size:.9rem}}@media screen and (width<=480px){.motivation-quote{padding:1rem}.quote-author-image{width:80px;height:120px}.gates-image{left:-90px}.jobs-image{right:-90px}@keyframes peekingAnimation{to{left:-10px}}@keyframes peekingAnimationJobs{to{right:-10px}}}.skill-tag{position:relative}.skill-tag[data-tooltip]:hover:before{content:attr(data-tooltip);background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);white-space:nowrap;z-index:20;pointer-events:none;border-radius:6px;padding:.3rem .65rem;font-size:.72rem;animation:.18s forwards tooltipFade;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0000002e}.skill-tag[data-tooltip]:hover:after{content:"";border:5px solid #0000;border-top-color:var(--border-color);z-index:20;pointer-events:none;animation:.18s forwards tooltipFade;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}@keyframes tooltipFade{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.fact-counter{font-variant-numeric:tabular-nums;transition:color .2s}.music-section{opacity:0;width:100%;max-width:1000px;margin:0 auto 4rem;transition:opacity .6s,transform .6s;transform:translateY(24px)}.music-section.is-visible{opacity:1;transform:translateY(0)}.music-section--hidden{pointer-events:none;margin:0}.music-layout{align-items:flex-start;gap:3.5rem;display:flex}.music-left{flex:1;min-width:0}.music-title-row{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.music-headphones-icon{color:var(--text-primary);flex-shrink:0;font-size:2rem}.music-heading{color:var(--text-primary);margin:0;font-size:clamp(1.5rem,4vw,1.8rem);font-weight:600}.music-intro{color:var(--text-secondary);margin:0 0 .85rem;font-size:clamp(.9rem,2vw,1rem);line-height:1.75}.music-right{flex-direction:column;flex:0 0 360px;gap:.75rem;display:flex}.music-pill{color:inherit;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50px;align-items:center;gap:.85rem;padding:.65rem 1rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.music-pill:hover{transform:translate(5px);box-shadow:0 4px 16px #0000001f}.music-pill-img{object-fit:cover;border-radius:8px;flex-shrink:0;width:48px;height:48px}.music-pill-img--round{border-radius:50%}.music-pill-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.music-pill-top-row{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.music-pill-artist{color:var(--text-primary);white-space:nowrap;flex-shrink:0;font-size:.88rem;font-weight:600;line-height:1.3}.music-pill-label{color:var(--text-secondary);opacity:.7;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;line-height:1.3;overflow:hidden}.music-pill-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;line-height:1.3;overflow:hidden}.music-live-dot{background:#1db954;border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.4s ease-in-out infinite music-pulse}@keyframes music-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}.music-pill--skeleton{pointer-events:none;cursor:default}.music-skeleton{background:linear-gradient(90deg,#8080801f 25%,#80808038 50%,#8080801f 75%) 0 0/200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite music-shimmer}.music-skeleton--img{border-radius:50%;flex-shrink:0;width:48px;height:48px}.music-skeleton--artist{width:70px;height:12px}.music-skeleton--label{width:110px;height:10px}.music-skeleton--name{width:140px;height:11px;margin-top:2px}@keyframes music-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media screen and (width<=720px){.music-layout{flex-direction:column;gap:2rem}.music-right{flex:none;width:100%}}
