@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@300;400;500;600;700&display=swap";*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:Inter,sans-serif}:root{--bg:#0b1326;--bg-soft:#131b2e;--surface:#171f33;--surface-high:#222a3d;--text:#dae2fd;--muted:#c4c5d9;--primary:#b8c3ff;--primary-strong:#2e5bff;--outline:#434656}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}.app{background:radial-gradient(circle at 90% 10%, #2e5bff38, transparent 30%), var(--bg);color:var(--text);min-height:100vh}main{width:100%}.topbar{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0b1326b3;border-bottom:1px solid #43465640;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;width:92%;max-width:1120px;min-height:74px;margin:0 auto;display:flex;position:relative}.brand{color:var(--primary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;text-decoration:none;display:flex}.brand:hover{opacity:.8}.brand-icon{justify-content:center;align-items:center;font-size:1.25rem;display:flex}.material-symbols-outlined{font-variation-settings:"FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24}.brand-text{font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:700}.menu-toggle{color:var(--primary);cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:1.5rem;line-height:1;display:none}.top-menu{align-items:center;gap:24px;display:flex}.top-menu-link{color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;text-decoration:none;transition:color .3s}.top-menu-link:hover{color:var(--primary)}.section-container{width:92%;max-width:1120px;margin:0 auto}.section-title{color:var(--primary);margin-bottom:2rem;font-family:Space Grotesk,sans-serif;font-size:2.5rem;font-weight:700}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;width:92%;max-width:1120px;margin:0 auto;padding:6rem 0;display:grid}.hero>div:first-child{flex-direction:column;gap:1.5rem;display:flex}.chip{border:1px solid var(--primary);width:fit-content;color:var(--primary);background:#b8c3ff1a;border-radius:20px;padding:6px 14px;font-size:.85rem;display:inline-flex}.hero-title{font-family:Space Grotesk,sans-serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1}.hero-subtitle{color:var(--muted);font-size:1.1rem}.hero-tagline{color:var(--primary);font-family:Space Mono,monospace;font-size:.95rem}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:1rem;display:flex}.hero-image-wrap{justify-content:center;align-items:center;display:flex}.hero-image{object-fit:cover;border-radius:12px;width:100%;max-width:300px;height:auto}.btn{cursor:pointer;border:none;border-radius:8px;padding:12px 28px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .3s}.btn-primary{background:var(--primary-strong);color:#fff}.btn-primary:hover{background:#4670ff;transform:translateY(-2px)}.btn-primary:disabled{background:var(--muted);cursor:not-allowed}.icon-box{border:1px solid var(--outline);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;padding:12px 28px;font-size:.95rem;font-weight:600;transition:all .3s}.icon-box:hover{border-color:var(--primary);color:var(--primary);background:#b8c3ff0d}.section-about{border-top:1px solid #43465640;padding:4rem 0}.about-content{flex-direction:column;gap:1.25rem;max-width:800px;display:flex}.about-content p{color:var(--muted);font-size:1rem;line-height:1.7}.section-skills{border-top:1px solid #43465640;padding:4rem 0}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;display:grid}.skill-category{background:#222a3d66;border:1px solid #43465626;border-radius:12px;padding:1.5rem}.skill-category h3{color:var(--primary);margin-bottom:1rem;font-size:1.1rem}.skill-items{flex-wrap:wrap;gap:.75rem;display:flex}.skill-item{border:1px solid var(--primary);color:var(--primary);background:#2e5bff26;border-radius:20px;padding:6px 14px;font-size:.85rem;display:inline-block}.section-projects{border-top:1px solid #43465640;padding:4rem 0}.projects-list{grid-template-columns:1fr;gap:2rem;display:grid}.project{background:#222a3d66;border:1px solid #43465626;border-radius:12px;padding:2rem;transition:all .3s}.project:hover{border-color:var(--primary);background:#222a3d99}.project h3{color:var(--primary);margin-bottom:.75rem;font-size:1.4rem}.project p{color:var(--muted);margin-bottom:1rem;line-height:1.6}.project-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.project-tags span{color:var(--primary);background:#2e5bff26;border-radius:12px;padding:4px 12px;font-size:.8rem}.project-links{flex-wrap:wrap;gap:1rem;display:flex}.project-links a{color:var(--primary);font-size:.9rem;text-decoration:none;transition:all .3s}.project-links a:hover{opacity:.7}.section-contact{border-top:1px solid #43465640;padding:4rem 0}.contact-form{gap:1.25rem;max-width:600px;margin-bottom:3rem;display:grid}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group input,.form-group textarea{color:var(--text);background:#222a3d80;border:1px solid #43465659;border-radius:8px;padding:12px 16px;font-family:inherit;font-size:.95rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary);background:#222a3db3;outline:none}.form-group textarea{resize:vertical;min-height:120px}.form-success{color:#4ade80;font-size:.95rem}.form-error{color:#ff6b6b;font-size:.95rem}.contact-links{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.contact-link{color:var(--primary);background:#222a3d66;border:1px solid #43465626;border-radius:8px;align-items:center;gap:.75rem;padding:1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex}.contact-link:hover{border-color:var(--primary);background:#222a3d99}.contact-link img{width:24px;height:24px}.footer{text-align:center;color:var(--muted);border-top:1px solid #43465640;padding:2rem 0;font-size:.9rem}@media (width<=768px){.hero{grid-template-columns:1fr;gap:2rem;padding:3rem 0}.menu-toggle{display:block}.top-menu{z-index:80;background:#171f33f5;border:1px solid #4346568c;border-radius:14px;flex-direction:column;gap:2px;min-width:220px;padding:8px;display:none;position:absolute;top:calc(100% - 6px);right:0;box-shadow:0 14px 32px #00000047}.top-menu-open{display:flex!important}.top-menu-link{border-radius:6px;padding:8px 12px}.top-menu-link:hover{background:#b8c3ff1a}.hero-title{font-size:2rem}.section-title{font-size:1.8rem}.skills-grid{grid-template-columns:1fr}.contact-links{grid-template-columns:repeat(2,1fr)}.hero-actions{flex-direction:column}.btn,.icon-box{text-align:center;width:100%}}@media (width<=480px){.topbar-inner,.section-container,.hero{width:96%}.contact-links{grid-template-columns:1fr}main,.footer{width:96%}}.top-menu-link{color:var(--text);border-radius:10px;padding:10px 12px;font-size:.95rem;font-weight:600;text-decoration:none}.top-menu-link:hover,.top-menu-link.active{color:var(--primary);background:#b8c3ff24}.nav-links{display:none}.btn{cursor:pointer;border:none;border-radius:12px;padding:12px 18px;font-weight:700;text-decoration:none}.btn-primary{color:#eef2ff;background:linear-gradient(130deg, var(--primary), var(--primary-strong))}.btn-ghost{color:var(--text);background:0 0;border:1px solid #43465680}.btn-outline{color:var(--primary);background:0 0;border:1px solid #43465680}.hero{grid-template-columns:1.2fr .9fr;align-items:center;gap:40px;padding:80px 0 56px;display:grid}.chip{background:var(--surface-high);text-transform:uppercase;letter-spacing:.08em;border:1px solid #43465659;border-radius:999px;padding:6px 12px;font-size:.75rem;display:inline-block}.hero-title{margin:20px 0 14px;font-family:Space Grotesk,sans-serif;font-size:clamp(2.4rem,8vw,5.2rem);line-height:1.05}.hero-title span{color:var(--primary)}.hero-subtitle{max-width:600px;color:var(--muted);font-size:1.15rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px;display:flex}.icon-box{color:var(--primary);background:var(--surface);border:1px solid #43465659;border-radius:12px;padding:12px 14px;font-weight:700;text-decoration:none}.hero-image-wrap{border:1px solid #43465659;border-radius:46px;position:relative;overflow:hidden}.hero-image{object-fit:cover;aspect-ratio:1;width:100%;height:100%;display:block}.skills-section,.projects-section,.cta-section{padding:56px 0}.skills-section{background:var(--bg-soft);margin:26px calc(50% - 50vw) 0;padding-inline:calc(50vw - min(1120px,92%)/2)}.section-head h2{margin:0;font-family:Space Grotesk,sans-serif;font-size:2rem}.section-head p{color:var(--muted);margin-top:8px}.skill-list{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.skill-item{background:var(--surface);border:1px solid #43465659;border-radius:999px;padding:10px 16px}.project-grid{grid-template-columns:2fr 1fr;gap:18px;margin-top:24px;display:grid}.project-card{background:var(--surface-high);color:var(--text);border:1px solid #43465659;border-radius:24px;text-decoration:none;overflow:hidden}.project-card img{object-fit:cover;width:100%;height:240px}.project-card-wide img{height:310px}.project-content{padding:20px}.project-content h3{margin:0;font-family:Space Grotesk,sans-serif}.project-content p{color:var(--muted);margin-top:8px}.cta-section{text-align:center}.cta-section h2{margin-bottom:14px;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,5vw,3.8rem)}.cta-section p{color:var(--muted);max-width:680px;margin:0 auto}.cta-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px;display:flex}.experience-section{background:var(--bg-soft);padding-inline:calc(50vw - min(1120px,92%)/2);margin:26px calc(50% - 50vw) 0;padding:56px calc(50vw - min(1120px,92%)/2)}.experience-timeline{max-width:800px;margin-top:40px;position:relative}.experience-timeline:before{content:"";background:linear-gradient(#b8c3ff4d,#b8c3ff1a,#0000);width:1px;position:absolute;top:0;bottom:0;left:23px}.timeline-item{margin-bottom:32px;padding-left:70px;position:relative}.timeline-marker{background:var(--surface-high);border:2px solid #b8c3ff4d;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;display:flex;position:absolute;top:6px;left:0}.timeline-marker:after{content:"";background:var(--primary);border-radius:50%;width:10px;height:10px}.timeline-item:first-child .timeline-marker{border-color:#b8c3ff99;box-shadow:0 0 16px #b8c3ff33}.timeline-content{background:var(--surface-high);border:1px solid #43465659;border-radius:16px;padding:20px;transition:border-color .3s}.timeline-content:hover{border-color:#b8c3ff4d}.timeline-date{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:6px;font-family:Space Grotesk,sans-serif;font-size:.75rem;font-weight:700;display:block}.timeline-content h3{margin:0 0 4px;font-family:Space Grotesk,sans-serif;font-size:1.25rem}.timeline-company{color:var(--primary);margin:0 0 8px;font-weight:600}.timeline-description{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.footer{border-top:1px solid #43465640;flex-wrap:wrap;justify-content:space-between;gap:16px;padding:28px 0 34px;display:flex}.footer p{color:var(--muted);margin:6px 0 0;font-size:.92rem}.footer-links{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.footer-links a{color:var(--muted);text-decoration:none}.footer-links a:hover{color:var(--primary)}.simple-page{text-align:center;background:radial-gradient(circle at 85% 0%, #2e5bff40, transparent 40%), var(--bg);min-height:100vh;color:var(--text);place-content:center;gap:14px;padding:24px;display:grid}.simple-page h1{margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,6vw,3.5rem)}.simple-page p{color:var(--muted);margin:0}.simple-page ul{text-align:left;gap:8px;max-width:860px;margin:0;padding-left:1.2rem;display:grid}.simple-page li{color:var(--muted)}.simple-page a{color:var(--primary)}.simple-page-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.simple-page-actions a{color:var(--primary);border:1px solid #43465680;border-radius:10px;padding:10px 16px;font-weight:600;text-decoration:none}@media (width<=900px){.hero{grid-template-columns:1fr;padding-top:46px}.project-grid{grid-template-columns:1fr}.experience-timeline:before{left:15px}.timeline-item{padding-left:55px}.timeline-marker{width:40px;height:40px;left:-5px}}
