:root{--font-main: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--max-width: 1200px;--nav-height: 70px;--border-radius: 16px;--transition: .3s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #000000;--bg-secondary: #0a0a0a;--bg-gradient-1: #ffffff;--bg-gradient-2: #a0a0a0;--bg-gradient-3: #666666;--text-primary: #f5f5f7;--text-secondary: #86868b;--text-accent: #e0e0e0;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: rgba(0, 0, 0, .4);--glass-hover-bg: rgba(255, 255, 255, .1);--card-bg: rgba(28, 28, 30, .6);--nav-bg: rgba(0, 0, 0, .75);--tag-bg: rgba(255, 255, 255, .08);--tag-text: #d1d1d6;--input-bg: rgba(255, 255, 255, .06);--input-border: rgba(255, 255, 255, .1);--blob-1: rgba(255, 255, 255, .03);--blob-2: rgba(255, 255, 255, .02);--blob-3: rgba(255, 255, 255, .015);--scrollbar-track: #0a0a0a;--scrollbar-thumb: #333333}[data-theme=light]{--bg-primary: #f5f5f7;--bg-secondary: #ffffff;--bg-gradient-1: #1d1d1f;--bg-gradient-2: #424245;--bg-gradient-3: #86868b;--text-primary: #1d1d1f;--text-secondary: #6e6e73;--text-accent: #1d1d1f;--glass-bg: rgba(255, 255, 255, .65);--glass-border: rgba(0, 0, 0, .06);--glass-shadow: rgba(0, 0, 0, .06);--glass-hover-bg: rgba(255, 255, 255, .8);--card-bg: rgba(255, 255, 255, .5);--nav-bg: rgba(245, 245, 247, .8);--tag-bg: rgba(0, 0, 0, .05);--tag-text: #1d1d1f;--input-bg: rgba(255, 255, 255, .8);--input-border: rgba(0, 0, 0, .1);--blob-1: rgba(0, 0, 0, .03);--blob-2: rgba(0, 0, 0, .02);--blob-3: rgba(0, 0, 0, .015);--scrollbar-track: #f5f5f7;--scrollbar-thumb: #c7c7cc}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}body{font-family:var(--font-main);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;transition:background var(--transition),color var(--transition)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.bg-blobs{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(80px);animation:blobFloat 20s ease-in-out infinite}.blob-1{width:500px;height:500px;background:var(--blob-1);top:-100px;right:-100px;animation-delay:0s}.blob-2{width:400px;height:400px;background:var(--blob-2);bottom:20%;left:-80px;animation-delay:-7s}.blob-3{width:350px;height:350px;background:var(--blob-3);top:50%;right:20%;animation-delay:-14s}@keyframes blobFloat{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-50px) scale(1.05)}50%{transform:translate(-20px,30px) scale(.95)}75%{transform:translate(40px,20px) scale(1.02)}}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px var(--glass-shadow);transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.glass:hover{background:var(--glass-hover-bg);box-shadow:0 12px 40px var(--glass-shadow)}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}section{position:relative;z-index:1;padding:100px 0}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height);background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);transition:background var(--transition),border-color var(--transition)}.navbar .container{display:flex;align-items:center;justify-content:space-between;height:100%}.nav-logo{display:flex;align-items:center}.nav-logo-img{height:32px;width:auto}.nav-links{display:flex;list-style:none;gap:32px;align-items:center}.nav-links a{font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:color var(--transition);position:relative}.nav-links a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--text-primary);border-radius:1px;transition:width var(--transition)}.nav-links a:hover{color:var(--text-primary)}.nav-links a:hover:after{width:100%}.nav-controls{display:flex;align-items:center;gap:12px}.nav-btn{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;padding:8px 12px;color:var(--text-primary);cursor:pointer;font-size:1rem;transition:all var(--transition);display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:var(--glass-hover-bg);border-color:var(--text-accent)}.lang-btn{font-family:var(--font-main);font-size:.8rem;font-weight:600;min-width:40px}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;background:none;border:none;z-index:101}.hamburger span{display:block;width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:all var(--transition)}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{min-height:100vh;display:flex;align-items:center;padding-top:var(--nav-height)}.hero-content{max-width:700px}.hero-greeting{font-size:1.1rem;color:var(--text-accent);font-weight:500;margin-bottom:8px}.hero-name{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1;margin-bottom:8px;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-title{font-size:clamp(1.2rem,3vw,2rem);font-weight:600;color:var(--text-accent);margin-bottom:20px;font-family:var(--font-mono)}.hero-subtitle{font-size:1.1rem;color:var(--text-secondary);max-width:550px;margin-bottom:36px;line-height:1.7}.hero-cta{display:flex;gap:16px;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,var(--bg-gradient-1),var(--bg-gradient-2));color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all var(--transition);font-family:var(--font-main)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ffffff26}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition);font-family:var(--font-main)}.btn-secondary:hover{background:var(--glass-hover-bg);border-color:var(--text-accent);transform:translateY(-2px)}.section-title{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:800;margin-bottom:48px;text-align:center;background:linear-gradient(135deg,var(--text-primary) 0%,var(--text-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-content{display:grid;grid-template-columns:1fr;gap:24px;max-width:800px;margin:0 auto}.about-text p{font-size:1.05rem;color:var(--text-secondary);line-height:1.8;margin-bottom:16px}.experience-timeline{max-width:800px;margin:0 auto;position:relative}.experience-timeline:before{content:"";position:absolute;left:20px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--bg-gradient-1),var(--bg-gradient-2),transparent)}.experience-item{position:relative;padding-left:56px;margin-bottom:40px}.experience-item:before{content:"";position:absolute;left:14px;top:24px;width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--bg-gradient-1),var(--bg-gradient-2));border:3px solid var(--bg-primary);z-index:1}.experience-card{padding:28px}.experience-card h3{font-size:1.2rem;font-weight:700;margin-bottom:4px}.experience-card .role{font-size:.95rem;color:var(--text-accent);font-weight:500;margin-bottom:4px}.experience-card .period{font-size:.85rem;color:var(--text-secondary);font-family:var(--font-mono);margin-bottom:12px}.experience-card p{font-size:.95rem;color:var(--text-secondary);line-height:1.7;margin-bottom:14px}.tech-tags{display:flex;flex-wrap:wrap;gap:8px}.tech-tag{padding:4px 12px;background:var(--tag-bg);color:var(--tag-text);border-radius:8px;font-size:.8rem;font-weight:500;font-family:var(--font-mono)}.projects-label{text-align:center;font-size:.9rem;font-weight:600;color:var(--text-accent);text-transform:uppercase;letter-spacing:2px;margin-bottom:32px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;margin-bottom:60px}.project-card{padding:28px;display:flex;flex-direction:column;height:100%;cursor:pointer}.project-card:hover .project-image img{transform:scale(1.05)}.project-image{width:100%;aspect-ratio:16 / 10;border-radius:12px;margin-bottom:20px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;border-radius:12px;transition:transform .4s cubic-bezier(.4,0,.2,1)}.project-image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--bg-gradient-1),var(--bg-gradient-2),var(--bg-gradient-3));opacity:.3;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff;border-radius:12px}.project-card h3{font-size:1.15rem;font-weight:700;margin-bottom:10px}.project-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.7;margin-bottom:16px;flex:1}.project-links{display:flex;gap:12px;margin-top:auto;margin-bottom:14px}.project-link{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:500;color:var(--text-accent);transition:color var(--transition)}.project-link:hover{color:var(--text-primary)}.other-projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.other-project-card{padding:24px}.other-project-card h3{font-size:1rem;font-weight:600;margin-bottom:8px}.other-project-card p{font-size:.85rem;color:var(--text-secondary);line-height:1.6;margin-bottom:14px}.skills-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}.skill-category{padding:28px}.skill-category h3{font-size:1rem;font-weight:700;margin-bottom:20px;color:var(--text-accent)}.skill-list{display:flex;flex-wrap:wrap;gap:10px}.skill-item{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--tag-bg);border-radius:10px;font-size:.85rem;font-weight:500;color:var(--tag-text);transition:all var(--transition)}.skill-item:hover{transform:translateY(-2px);background:#ffffff1f}.skill-icon{font-size:1.1rem}.contact-content{max-width:600px;margin:0 auto;text-align:center}.contact-subtitle{font-size:1.1rem;color:var(--text-secondary);margin-bottom:40px}.contact-card{padding:40px}.contact-info{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.contact-item{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;transition:all var(--transition)}.contact-item:hover{background:var(--glass-hover-bg);transform:translate(4px)}.contact-item-icon{font-size:1.3rem;color:var(--text-accent)}.contact-item-text{font-size:.95rem;color:var(--text-secondary)}.contact-item-text a{color:var(--text-primary);font-weight:500}.contact-form{display:flex;flex-direction:column;gap:16px}.contact-form input,.contact-form textarea{padding:14px 18px;background:var(--input-bg);border:1px solid var(--input-border);border-radius:12px;color:var(--text-primary);font-size:.95rem;font-family:var(--font-main);transition:all var(--transition);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--text-accent);box-shadow:0 0 0 3px #ffffff1a}.contact-form textarea{min-height:120px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--text-secondary);opacity:.6}.footer{position:relative;z-index:1;padding:32px 0;border-top:1px solid var(--glass-border);text-align:center}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.footer-text{font-size:.85rem;color:var(--text-secondary)}.footer-socials{display:flex;gap:16px}.footer-social-link{font-size:1.2rem;color:var(--text-secondary);transition:all var(--transition)}.footer-social-link:hover{color:var(--text-accent);transform:translateY(-2px)}@media (max-width: 768px){.nav-links{position:fixed;top:0;right:-100%;width:280px;height:100vh;flex-direction:column;background:var(--bg-primary);padding:100px 40px 40px;gap:24px;transition:right var(--transition);border-left:1px solid var(--glass-border)}.nav-links.open{right:0}.hamburger{display:flex}.hero-content{text-align:center;max-width:100%}.hero-subtitle{margin-left:auto;margin-right:auto}.hero-cta{justify-content:center}section{padding:70px 0}.projects-grid,.other-projects-grid,.skills-container{grid-template-columns:1fr}.footer-content{flex-direction:column}.experience-timeline:before{left:12px}.experience-item{padding-left:44px}.experience-item:before{left:6px;width:12px;height:12px}.experience-card{padding:20px}.contact-card{padding:24px}.blob-1{width:300px;height:300px}.blob-2{width:250px;height:250px}.blob-3{width:200px;height:200px}}@media (max-width: 480px){.container{padding:0 16px}.hero-name{font-size:2rem}.hero-cta{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;justify-content:center}}.nav-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:98}.nav-overlay.active{display:block}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:24px}.modal-content{position:relative;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;overflow-x:hidden;padding:0;border-radius:20px}.modal-close{position:absolute;top:16px;right:16px;z-index:10;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);font-size:1.2rem;transition:all var(--transition)}.modal-close:hover{background:var(--glass-hover-bg);transform:rotate(90deg)}.modal-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);font-size:1.3rem;transition:all var(--transition)}.modal-nav:hover{background:var(--glass-hover-bg)}.modal-nav-left{left:16px}.modal-nav-right{right:16px}.modal-inner{display:flex;flex-direction:column}.modal-image{width:100%;border-radius:20px 20px 0 0;overflow:hidden}.modal-image img{width:100%;height:auto;max-height:400px;object-fit:cover;display:block}.modal-details{padding:32px}.modal-details h2{font-size:1.5rem;font-weight:700;margin-bottom:12px}.modal-details p{font-size:.95rem;color:var(--text-secondary);line-height:1.8;margin-bottom:20px}.modal-links{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.modal-counter{font-size:.8rem;color:var(--text-secondary);font-family:var(--font-mono);text-align:center}@media (max-width: 900px){.modal-nav-left{left:12px}.modal-nav-right{right:12px}.modal-nav{width:36px;height:36px;font-size:1rem;background:var(--glass-hover-bg)}}@media (max-width: 480px){.modal-content{border-radius:16px}.modal-image{border-radius:16px 16px 0 0}.modal-details{padding:20px}.modal-details h2{font-size:1.2rem}}.typing-cursor{display:inline-block;width:3px;height:1em;background:var(--text-accent);margin-left:4px;animation:blink 1s step-end infinite;vertical-align:text-bottom}.typing-cursor.hidden{opacity:0;animation:none}@keyframes blink{50%{opacity:0}}.hero-subtitle,.hero-cta{opacity:0}.scroll-indicator{position:absolute;bottom:32px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;animation:scrollBounce 2s ease-in-out infinite}.scroll-indicator-dot{width:6px;height:6px;background:var(--text-secondary);border-radius:50%;animation:scrollFade 2s ease-in-out infinite}@keyframes scrollBounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}@keyframes scrollFade{0%,to{opacity:.3}50%{opacity:1}}.project-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--border-radius);opacity:0;transition:opacity .4s;pointer-events:none;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.06),transparent 60%)}.project-card:hover:before{opacity:1}.project-card{position:relative}.other-project-card{cursor:pointer;position:relative}.other-project-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--border-radius);opacity:0;transition:opacity .4s;pointer-events:none;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgba(255,255,255,.06),transparent 60%)}.other-project-card:hover:before{opacity:1}
