:root{--font-sans: system-ui, Avenir, Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--text-primary: #ccd6f6;--text-secondary: #8892b0;--text-muted: #a1a1aa;--text-white: white;--text-accent: #22d3ee;--text-highlight: #22d3ee;--bg-dark: #0a0a0a;--bg-card: #1a1a1a;--bg-secondary: #242424;font-family:var(--font-sans);line-height:1.5;font-weight:var(--font-normal);color-scheme:light dark;color:#ffffffde;background-color:var(--bg-secondary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;font-family:var(--font-mono);background:var(--bg-dark);padding-top:70px}.main-content{margin-left:0;margin-right:0;transition:margin-left .3s ease,margin-right .3s ease}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1.5rem;color:var(--text-primary);font-family:var(--font-mono)}.loading-spinner{width:64px;height:64px;border-radius:50%;border:6px solid rgba(255,255,255,.1);border-top-color:var(--text-highlight);animation:spin 1s linear infinite}.loading-text{font-size:1.25rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width: 1401px){.main-content{margin-left:120px;margin-right:120px}}@media (max-width: 1400px) and (min-width: 1201px){.main-content{margin-left:100px;margin-right:0}}@media (max-width: 1200px){.main-content{margin-left:0;margin-right:0}}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:var(--font-medium);font-family:inherit;background-color:var(--bg-card);cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.hero-container{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;box-sizing:border-box}.hero-left{display:none}.hero-right{max-width:1200px;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;color:var(--text-primary)}.hero-greeting{color:var(--text-accent);font-size:1rem;margin-bottom:1.5rem;font-weight:var(--font-normal)}.hero-name{font-size:4.5rem;font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 1rem;line-height:1.1}.hero-tagline{font-size:4.5rem;font-weight:var(--font-semibold);color:var(--text-secondary);margin:0 0 2rem;line-height:1.1}.hero-description{font-size:1.25rem;line-height:1.6;color:var(--text-secondary);max-width:540px;margin:0}.highlight{color:var(--text-highlight);font-weight:var(--font-medium)}@media (max-width: 1080px){.hero-container{padding:4rem 2rem}}@media (max-width: 768px){.hero-container{padding:2rem 1rem;min-height:auto}.hero-name,.hero-tagline{font-size:2.5rem}.hero-description{font-size:1.1rem}}@media (max-width: 480px){.hero-container{padding:2rem .75rem;text-align:center}.hero-name,.hero-tagline{font-size:2rem}.hero-description{font-size:1rem}}.about-me-container{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;color:var(--text-white);padding:4rem 2rem;box-sizing:border-box;background:var(--bg-dark)}.about-me-content{max-width:1200px;width:100%;animation:fadeInUp 2s ease-out}.about-me-title{font-size:3.5rem;font-weight:var(--font-bold);margin-bottom:3rem;color:var(--text-white);text-align:center}.about-me-layout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.about-me-left{font-size:1.1rem;line-height:1.7;color:var(--text-muted)}.about-me-left p{margin-bottom:1.5rem}.about-me-left p:last-child{margin-bottom:0}.highlight{color:var(--text-accent);font-weight:var(--font-medium)}.about-me-right{padding-left:2rem}.technologies-title{font-size:1.5rem;font-weight:var(--font-semibold);color:var(--text-white);margin-bottom:2rem}.technologies-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.tech-column{display:flex;flex-direction:column;gap:1rem}.tech-item{position:relative;padding-left:1.5rem;font-size:1rem;color:var(--text-muted);line-height:1.5}.tech-item:before{content:"●";position:absolute;left:0;color:var(--text-accent);font-size:.8rem;top:50%;transform:translateY(-50%)}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity 1.2s ease-out,transform 1.2s ease-out}.animate-on-scroll.fade-in{opacity:1;transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1080px){.about-me-container{padding:4rem 2rem}}@media (max-width: 768px){.about-me-container{padding:2rem 1rem;align-items:center;min-height:auto}.about-me-title{font-size:2.5rem;margin-bottom:2rem;text-align:center}.about-me-layout{grid-template-columns:1fr;gap:2rem}.about-me-left{font-size:1rem;text-align:center}.about-me-right{padding-left:0;display:flex;flex-direction:column;align-items:center}.technologies-title{font-size:1.25rem;text-align:center}.technologies-grid{gap:.75rem;justify-items:center}.tech-item{font-size:.9rem}}@media (max-width: 480px){.about-me-container{padding:2rem .75rem 3rem;text-align:center}.about-me-title{font-size:2rem;margin-bottom:1.5rem;text-align:center}.about-me-layout{gap:1.5rem}.about-me-left{font-size:.95rem;line-height:1.6;text-align:center}.about-me-left p{margin-left:auto;margin-right:auto}.about-me-right{display:flex;flex-direction:column;align-items:center;text-align:center}.technologies-title{font-size:1.1rem;margin-bottom:1.5rem;text-align:center}.technologies-grid{gap:.5rem;justify-items:center;text-align:center}.tech-item{font-size:.85rem;padding-left:1.25rem;text-align:left}}.job-card{background:var(--bg-card);border-radius:12px;padding:24px;margin-bottom:24px;border:1px solid #333;transition:all .3s ease;position:relative;overflow:hidden}.job-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000004d;border-color:#444}.job-card-content{display:flex;flex-direction:column;gap:16px}.job-header{display:flex;align-items:flex-start;gap:16px;position:relative}.company-logo{flex-shrink:0}.logo-container{width:60px;height:60px;background:transparent;border-radius:8px;display:flex;align-items:center;justify-content:center}.logo-image{width:100%;height:100%;object-fit:contain;border-radius:4px}.logo-icon{font-size:24px;color:var(--text-highlight)}.job-info{flex:1;min-width:0}.job-title{font-size:24px;font-weight:var(--font-bold);color:var(--text-white);margin:0 0 4px;line-height:1.2}.company-name{font-size:16px;color:var(--text-highlight);margin:0 0 8px;font-weight:var(--font-medium)}.company-link{color:var(--text-highlight);text-decoration:none;transition:all .2s ease}.company-link:hover{color:#fff;text-decoration:underline}.key-achievement{background:var(--text-highlight);color:#000;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:var(--font-semibold);display:inline-block;margin-bottom:8px}.job-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.date-location{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.date,.location{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-muted)}.icon{font-size:12px}.job-description{margin:8px 0}.job-description p{color:var(--text-secondary);line-height:1.6;margin:0;font-size:15px}.technologies{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.tech-tag{background:#333;color:var(--text-white);padding:4px 12px;border-radius:16px;font-size:13px;font-weight:var(--font-medium);border:1px solid #444;transition:all .2s ease}.tech-tag:hover{background:#444;border-color:#555}.project-links{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 0}.project-link{background:#2a2a2a;color:var(--text-white);padding:8px 16px;border-radius:8px;font-size:14px;font-weight:var(--font-medium);text-decoration:none;border:1px solid #444;transition:all .2s ease;display:flex;align-items:center;gap:6px}.project-link:hover{background:#3a3a3a;border-color:#555;transform:translateY(-1px);color:var(--text-highlight)}.external-icon{font-size:12px;opacity:.7;transition:opacity .2s ease}.project-link:hover .external-icon{opacity:1}@media (max-width: 768px){.job-card{padding:20px}.job-header{flex-direction:column;gap:12px}.job-meta{align-items:flex-start;width:100%}.date-location{flex-direction:row;gap:16px}.job-title{font-size:20px}.logo-container{width:50px;height:50px}.logo-icon{font-size:20px}}@media (max-width: 480px){.job-card{margin:0 auto;max-width:100%;text-align:center}.job-header{align-items:center;text-align:center}.job-info{text-align:center}.job-meta,.date-location{align-items:center;text-align:center}.job-description{text-align:center}.technologies,.project-links{justify-content:center}}.work-experience{min-height:100vh;background:var(--bg-dark);color:var(--text-white);padding:80px 0;display:flex;align-items:center}.work-experience-container{max-width:1200px;margin:0 auto;padding:0 24px;text-align:center}.work-experience-header{text-align:center;margin-bottom:64px}.work-experience-title{font-size:48px;font-weight:var(--font-bold);color:var(--text-white);margin:0 0 16px;letter-spacing:-.02em;line-height:1.1}.work-experience-subtitle{font-size:20px;color:var(--text-muted);font-weight:var(--font-normal);line-height:1.5;max-width:600px;margin:0 auto}.jobs-container{display:flex;flex-direction:column;gap:32px;align-items:center}.loading,.error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid #333;border-top:3px solid #4ade80;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading p,.error p{color:var(--text-muted);font-size:16px;margin:0}.error p{color:#ef4444}@media (max-width: 1080px){.work-experience-container{padding:0 20px}}@media (max-width: 1024px){.work-experience-container{padding:0 20px}.work-experience-title{font-size:40px}.work-experience-subtitle{font-size:18px}}@media (max-width: 768px){.work-experience{padding:60px 0}.work-experience-container{padding:0 16px}.work-experience-header{margin-bottom:48px}.work-experience-title{font-size:32px}.work-experience-subtitle{font-size:16px}}@media (max-width: 480px){.work-experience{padding:100px 0 40px}.work-experience-container{padding:0 15px;text-align:center}.work-experience-header{text-align:center}.work-experience-title{font-size:28px;text-align:center}.work-experience-subtitle{font-size:15px;text-align:center}.jobs-container{display:flex;flex-direction:column;align-items:center;text-align:center}}.project-card{background:var(--bg-card);border-radius:8px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease;height:100%;display:flex;flex-direction:column}.project-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000004d}.project-card.featured{box-shadow:0 10px 30px #0003}.project-card.featured:hover{box-shadow:0 25px 50px #0006}.project-image{position:relative;width:100%;height:250px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.project-card:hover .project-image img{transform:scale(1.05)}.project-content{padding:25px;flex:1;display:flex;flex-direction:column}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.project-title{font-size:1.5rem;font-weight:var(--font-semibold);color:var(--text-primary);margin:0;flex:1;font-family:var(--font-sans)}.project-links{display:flex;gap:10px;margin-left:15px}.project-link{width:20px;height:20px;color:var(--text-secondary);transition:color .25s ease,transform .25s ease;text-decoration:none;display:flex;align-items:center;justify-content:center}.project-link:hover{color:var(--text-accent);transform:translateY(-2px)}.project-link svg{width:20px;height:20px;fill:currentColor}.project-description{color:var(--text-secondary);line-height:1.6;margin:0 0 20px;flex:1;font-family:var(--font-sans)}.project-technologies{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.tech-tag{background:transparent;color:var(--text-accent);padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:var(--font-medium);font-family:var(--font-mono);transition:all .25s ease}.tech-tag:hover{background:var(--text-accent);color:var(--bg-dark)}@media (max-width: 768px){.project-card{margin:0 auto}.project-header{flex-direction:column;align-items:flex-start;gap:10px}.project-links{margin-left:0}.project-title{font-size:1.3rem}}@media (max-width: 480px){.project-card{margin:0 auto;max-width:100%}.project-content{padding:20px}.project-image{height:200px}}.projects-section{min-height:100vh;padding:100px 0;background:var(--bg-dark);display:flex;align-items:center}.container{max-width:1200px;margin:0 auto;padding:0 50px;text-align:center}.projects-title{font-size:2.5rem;font-weight:var(--font-bold);color:var(--text-primary);text-align:center;margin-bottom:80px;font-family:var(--font-sans)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:30px;align-items:start;justify-items:center}@media (max-width: 1080px){.container{padding:0 40px}}@media (max-width: 768px){.container{padding:0 25px}.projects-section{padding:80px 0}.projects-title{font-size:2rem;margin-bottom:50px}.projects-grid{grid-template-columns:1fr;gap:25px}}@media (max-width: 480px){.container{padding:0 15px;text-align:center}.projects-title{font-size:1.8rem;margin-bottom:40px;text-align:center}.projects-grid{grid-template-columns:1fr;gap:20px;justify-items:center}}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0a0ad9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(136,146,176,.1);transition:transform .3s cubic-bezier(.645,.045,.355,1);padding:0 50px;height:70px;display:flex;align-items:center}.navbar-visible{transform:translateY(0)}.navbar-hidden{transform:translateY(-100%)}.navbar-container{width:100%;display:flex;justify-content:flex-end;align-items:center}.navbar-logo{width:42px;height:42px;color:var(--text-accent);display:flex;align-items:center;justify-content:center;border:2px solid var(--text-accent);border-radius:4px;transition:all .25s ease;cursor:pointer}.navbar-logo:hover{background:#22d3ee1a}.navbar-logo svg{width:24px;height:24px}.navbar-menu{display:flex;align-items:center;gap:35px}.navbar-item{background:none;border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:.875rem;font-weight:var(--font-normal);cursor:pointer;transition:color .25s ease;display:flex;align-items:center;gap:5px;padding:10px 0;outline:none}.navbar-item:focus{outline:none;color:var(--text-accent)}.navbar-item:active{outline:none;color:var(--text-accent)}.navbar-item:hover{color:var(--text-accent)}.navbar-number{color:var(--text-accent);font-weight:var(--font-normal)}.navbar-text{color:inherit}.navbar-resume{color:var(--text-accent);text-decoration:none;border:1px solid var(--text-accent);padding:10px 16px;border-radius:4px;font-family:var(--font-mono);font-size:.875rem;font-weight:var(--font-normal);transition:all .25s ease;background:transparent;position:relative;overflow:hidden;outline:none}.navbar-resume:focus{outline:none}.navbar-resume:active{outline:none}.navbar-resume:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--text-accent);transition:left .25s ease;z-index:-1}.navbar-resume:hover{color:var(--bg-dark);transform:translateY(-1px)}.navbar-resume:hover:before{left:0}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:30px;height:30px;background:none;border:none;cursor:pointer;z-index:1001;transition:all .3s ease;position:relative;outline:none}.hamburger:focus{outline:none}.hamburger:active{outline:none}.hamburger-line{width:25px;height:2px;background-color:var(--text-accent);display:block;transition:all .3s ease;transform-origin:center;margin-bottom:4px}.hamburger-line:last-child{margin-bottom:0}.hamburger-line-open:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.hamburger-line-open:nth-child(2){opacity:0}.hamburger-line-open:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}@media (max-width: 768px){.navbar{padding:0 25px}.navbar-menu{gap:20px}.navbar-item{font-size:.8rem}.navbar-resume{font-size:.8rem;padding:8px 12px}}@media (max-width: 600px){.navbar{padding:0 20px}.navbar-container{justify-content:flex-end}.hamburger{display:flex!important;background:none;border:none}.navbar-menu{position:fixed;top:70px;right:0;width:280px;height:calc(100vh - 70px);background:#0a0a0af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;justify-content:flex-start;align-items:center;padding:50px 0;gap:30px;transform:translate(100%);transition:transform .3s cubic-bezier(.645,.045,.355,1);border-left:1px solid rgba(136,146,176,.1);z-index:999}.navbar-menu-open{transform:translate(0)}.navbar-item{flex-direction:column;align-items:center;padding:15px 0;font-size:1rem;gap:8px}.navbar-item .navbar-text{display:block;font-size:1.1rem}.navbar-number{font-size:.875rem}.navbar-resume{font-size:.875rem;padding:12px 20px;margin-top:20px}}@media (max-width: 480px){.navbar{padding:0 15px;height:60px}.navbar-menu{top:60px;width:250px;height:calc(100vh - 60px);padding:40px 0;gap:25px}.navbar-item{padding:12px 0;font-size:.9rem}.navbar-item .navbar-text{font-size:1rem}.navbar-resume{font-size:.8rem;padding:10px 16px}}.social-sidebar{position:fixed;left:40px;bottom:0;z-index:1000;display:flex;flex-direction:column;align-items:center;transition:all .3s ease}.social-links{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.social-link{width:20px;height:20px;color:var(--text-secondary);transition:all .25s cubic-bezier(.645,.045,.355,1);cursor:pointer;text-decoration:none;padding:10px;display:flex;align-items:center;justify-content:center}.social-link:hover{color:var(--text-accent);transform:translateY(-3px)}.social-link svg{width:20px;height:20px;fill:currentColor}@media (max-width: 1400px){.social-sidebar{left:50%;transform:translate(-50%);bottom:20px;flex-direction:row;background:var(--bg-card);padding:15px 30px;border-radius:50px;box-shadow:0 4px 20px #0000004d}.social-links{flex-direction:row;gap:25px;margin-bottom:0;margin-right:0}.vertical-line{display:none}}@media (max-width: 375px){.social-sidebar{display:none}}.email-sidebar{position:fixed;right:40px;bottom:0;z-index:1000;display:flex;flex-direction:column;align-items:center;transition:all .3s ease}.email-container{display:flex;flex-direction:column;align-items:center;margin-bottom:20px;position:relative}.email-link{writing-mode:vertical-rl;text-orientation:mixed;color:var(--text-secondary);background:none;border:none;font-size:.9rem;font-family:var(--font-mono);letter-spacing:.1em;transition:all .25s cubic-bezier(.645,.045,.355,1);padding:10px;cursor:pointer;outline:none}.email-link:hover{color:var(--text-accent);transform:translateY(-3px)}.email-link:focus{color:var(--text-accent);outline:2px solid var(--text-accent);outline-offset:2px;animation:focusFadeOut 1s ease-out forwards}.email-link.copied{color:var(--text-accent);transform:translateY(-3px)}@keyframes focusFadeOut{0%{outline:2px solid var(--text-accent);outline-offset:2px}70%{outline:2px solid var(--text-accent);outline-offset:2px}to{outline:2px solid transparent;outline-offset:2px}}.copy-notification-center{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;pointer-events:none;animation:fadeInOut 2s ease-in-out}.copy-notification-content{background:var(--bg-card);border:1px solid var(--text-accent);border-radius:12px;padding:20px 30px;text-align:center;box-shadow:0 8px 32px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.copy-notification-content span{color:var(--text-accent);font-size:1.1rem;font-family:var(--font-sans);font-weight:var(--font-medium);display:block;margin-bottom:8px}.copied-email{color:var(--text-primary);font-size:.95rem;font-family:var(--font-mono);background:var(--bg-secondary);padding:8px 16px;border-radius:6px;border:1px solid var(--text-secondary)}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}85%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.vertical-line{width:1px;height:90px;background-color:var(--text-secondary);margin:0 auto}@media (max-width: 1400px){.email-sidebar{display:none}}@media (max-width: 768px){.email-sidebar{display:none}}
