*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:Inter,system-ui,-apple-system,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6;min-width:320px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul{list-style:none}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-hover)}strong{color:var(--text);font-weight:600}:root{--bg: #0d1117;--bg-alt: #161b22;--card: #21262d;--card-hover: #2d333b;--accent: #58a6ff;--accent-hover: #79b8ff;--accent-2: #3fb950;--accent-3: #a371f7;--accent-4: #f0883e;--text: #e6edf3;--text-muted: #8b949e;--border: #30363d;--border-2: #484f58;--radius: 12px;--radius-sm: 6px;--transition: .25s ease}.app{min-height:100vh}.container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0;background:var(--bg)}.section-alt{background:var(--bg-alt)}.section-header{text-align:center;margin-bottom:3.5rem}.section-title{font-size:2rem;font-weight:700;color:var(--text);position:relative;display:inline-block}.section-title:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:56px;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-3));border-radius:2px}.section-subtitle{color:var(--text-muted);margin-top:1.75rem;font-size:1.05rem}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:inherit;font-size:.95rem;font-weight:600;padding:.75rem 1.5rem;border-radius:var(--radius-sm);cursor:pointer;border:none;text-decoration:none;transition:all var(--transition);white-space:nowrap}.btn-primary{background:var(--accent);color:#0d1117}.btn-primary:hover{background:var(--accent-hover);color:#0d1117;transform:translateY(-2px);box-shadow:0 8px 24px #58a6ff4d}.btn-outline{background:transparent;color:var(--text);border:1px solid var(--border-2)}.btn-outline:hover{background:var(--card);color:var(--text);border-color:var(--accent);transform:translateY(-2px)}.icon-blue{background:#58a6ff1f;color:var(--accent)}.icon-green{background:#3fb9501f;color:var(--accent-2)}.icon-purple{background:#a371f71f;color:var(--accent-3)}.icon-orange{background:#f0883e1f;color:var(--accent-4)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:#58a6ff38;color:var(--text)}.footer{background:var(--bg);border-top:1px solid var(--border);padding:2rem 0;text-align:center}.footer__text{color:var(--text-muted);font-size:.9rem}.footer__text span{color:var(--accent)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0d1117e0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.navbar__inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;max-width:1100px;margin:0 auto}.navbar__logo{font-size:1.2rem;font-weight:700;color:var(--text);letter-spacing:-.5px;transition:color var(--transition)}.navbar__logo span,.navbar__logo:hover{color:var(--accent)}.navbar__links{display:flex;align-items:center;gap:.25rem}.navbar__link{color:var(--text-muted);font-size:.9rem;font-weight:500;padding:.45rem .875rem;border-radius:var(--radius-sm);transition:all var(--transition)}.navbar__link:hover{color:var(--text);background:var(--card)}.navbar__hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px;background:none;border:none;padding:6px}.navbar__hamburger span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:all var(--transition)}.navbar__mobile{display:flex;flex-direction:column;padding:.5rem 1.5rem 1rem;border-top:1px solid var(--border);gap:.25rem}@media(max-width:768px){.navbar__links{display:none}.navbar__hamburger{display:flex}}.profile{min-height:100vh;display:flex;align-items:center;padding-top:80px;position:relative;overflow:hidden;background:var(--bg)}.profile:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 15% 60%,rgba(88,166,255,.07) 0%,transparent 55%),radial-gradient(ellipse at 85% 40%,rgba(163,113,247,.06) 0%,transparent 55%);pointer-events:none}.profile__content{display:flex;align-items:center;gap:4rem}.profile__avatar{flex-shrink:0;width:160px;height:160px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 4px var(--bg),0 0 0 6px #58a6ff59,0 16px 40px #58a6ff26}.profile__avatar img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.profile__text{flex:1}.profile__tag{display:inline-flex;align-items:center;gap:.5rem;background:#3fb9501a;border:1px solid rgba(63,185,80,.3);color:var(--accent-2);font-size:.82rem;font-weight:600;padding:.35rem .875rem;border-radius:100px;margin-bottom:1.25rem;letter-spacing:.3px}.profile__tag:before{content:"";width:7px;height:7px;background:var(--accent-2);border-radius:50%;animation:blink 2s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.profile__name{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800;color:var(--text);line-height:1.1;margin-bottom:.6rem;letter-spacing:-1.5px}.profile__name span{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-3) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.profile__subtitle{font-size:1.1rem;color:var(--text-muted);font-weight:400;margin-bottom:1.5rem}.profile__desc{color:var(--text-muted);font-size:1.05rem;max-width:580px;margin-bottom:2rem;line-height:1.75}.profile__buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.profile__social{display:flex;gap:.75rem;flex-wrap:wrap}.profile__social-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);font-size:.88rem;font-weight:500;padding:.45rem .875rem;border:1px solid var(--border);border-radius:var(--radius-sm);transition:all var(--transition)}.profile__social-link:hover{color:var(--text);border-color:var(--accent);background:#58a6ff0f}@media(max-width:768px){.profile__content{flex-direction:column;text-align:center;gap:2rem;padding-top:1rem}.profile__avatar{width:110px;height:110px}.profile__buttons,.profile__social{justify-content:center}.profile__desc{margin:0 auto 2rem}}.about{background:var(--bg-alt)}.about__grid{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start}.about__main{display:flex;flex-direction:column;gap:1.25rem}.about__text{color:var(--text-muted);font-size:1.05rem;line-height:1.8}.about__info-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;display:flex;flex-direction:column;gap:.875rem}.about__info-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--accent);margin-top:.5rem}.about__info-title:first-child{margin-top:0}.about__badges{display:flex;flex-wrap:wrap;gap:.5rem}.badge{background:#58a6ff1a;border:1px solid rgba(88,166,255,.25);color:var(--accent);padding:.3rem .75rem;border-radius:100px;font-size:.85rem;font-weight:500}.about__interests{display:flex;flex-direction:column;gap:.5rem}.interest-item{display:flex;align-items:center;gap:.6rem;color:var(--text-muted);font-size:.95rem}.about__location{padding-top:.875rem;border-top:1px solid var(--border)}.about__location-text{color:var(--text-muted);font-size:.9rem;line-height:1.8}@media(max-width:900px){.about__grid{grid-template-columns:1fr}}.skills__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}.skills__card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem;transition:all var(--transition)}.skills__card:hover{border-color:var(--border-2);background:var(--card-hover);transform:translateY(-3px);box-shadow:0 8px 30px #00000040}.skills__card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.skills__card-icon{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.skills__card-title{font-size:1rem;font-weight:600;color:var(--text)}.skills__tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);padding:.3rem .7rem;border-radius:var(--radius-sm);font-size:.83rem;font-family:Fira Code,Consolas,monospace;transition:all var(--transition);cursor:default}.skill-tag:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:640px){.skills__grid{grid-template-columns:1fr}}.projects__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.project-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.875rem;transition:all var(--transition)}.project-card:hover{border-color:var(--border-2);background:var(--card-hover);transform:translateY(-4px);box-shadow:0 12px 35px #0000004d}.project-card__header{display:flex;align-items:center;justify-content:space-between}.badge-type{font-size:.75rem;font-weight:700;padding:.25rem .65rem;border-radius:100px;letter-spacing:.3px}.badge-type--front{background:#58a6ff1f;border:1px solid rgba(88,166,255,.25);color:var(--accent)}.badge-type--back{background:#3fb9501f;border:1px solid rgba(63,185,80,.25);color:var(--accent-2)}.badge-type--full{background:#a371f71f;border:1px solid rgba(163,113,247,.25);color:var(--accent-3)}.project-card__github{display:inline-flex;align-items:center;gap:.4rem;color:var(--text-muted);font-size:.85rem;font-weight:500;padding:.3rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);transition:all var(--transition)}.project-card__github:hover{color:var(--text);border-color:var(--accent);background:#58a6ff0f}.project-card__title{font-size:1rem;font-weight:600;color:var(--text);line-height:1.35}.project-card__desc{color:var(--text-muted);font-size:.9rem;line-height:1.7;flex:1}.project-card__techs{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.project-card__tech{background:var(--bg);border:1px solid var(--border);color:var(--text-muted);padding:.2rem .6rem;border-radius:var(--radius-sm);font-size:.78rem;font-family:Fira Code,Consolas,monospace}@media(max-width:900px){.projects__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.projects__grid{grid-template-columns:1fr}}.timeline{position:relative;padding-left:2rem}.timeline:before{content:"";position:absolute;left:5px;top:6px;bottom:0;width:2px;background:linear-gradient(to bottom,var(--accent),var(--accent-3),rgba(163,113,247,0))}.timeline__item{position:relative;margin-bottom:2rem}.timeline__item:last-child{margin-bottom:0}.timeline__dot{position:absolute;left:-2rem;top:1.1rem;width:12px;height:12px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);box-shadow:0 0 0 2px var(--accent);transition:transform var(--transition)}.timeline__dot--alt{background:var(--accent-3);box-shadow:0 0 0 2px var(--accent-3)}.timeline__item:hover .timeline__dot{transform:scale(1.3)}.timeline__content{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:all var(--transition)}.timeline__content:hover{border-color:#58a6ff59;box-shadow:0 4px 20px #0003}.timeline__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}.timeline__title{font-size:1.05rem;font-weight:600;color:var(--text)}.timeline__date{font-size:.82rem;color:var(--accent);background:#58a6ff1a;border:1px solid rgba(88,166,255,.2);padding:.2rem .7rem;border-radius:100px;white-space:nowrap;font-weight:600}.timeline__company{font-size:.92rem;color:var(--text-muted);margin-bottom:1rem}.timeline__company span{color:var(--accent-2);font-weight:600}.timeline__list{display:flex;flex-direction:column;gap:.45rem}.timeline__list li{display:flex;align-items:flex-start;gap:.65rem;color:var(--text-muted);font-size:.93rem;line-height:1.6}.timeline__list li:before{content:"▹";color:var(--accent);flex-shrink:0;font-size:.8rem;margin-top:.2rem}.timeline__links{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.875rem;border-top:1px solid var(--border)}.timeline__links-label{font-size:.82rem;color:var(--text-muted);font-weight:500}.timeline__link{font-size:.85rem;color:var(--accent);border-bottom:1px dashed rgba(88,166,255,.4);transition:border-color var(--transition)}.timeline__link:hover{border-bottom-style:solid}.timeline__desc{color:var(--text-muted);font-size:.88rem;margin-top:.25rem;font-style:italic}.contact__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-bottom:3rem}.contact__card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all var(--transition);text-decoration:none;color:inherit}.contact__card:hover{border-color:var(--accent);background:var(--card-hover);transform:translateY(-3px);color:inherit;box-shadow:0 8px 30px #58a6ff1a}.contact__icon{width:50px;height:50px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact__info-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-muted);font-weight:700;margin-bottom:.25rem}.contact__info-value{font-size:.95rem;color:var(--text);font-weight:500}.contact__cta{text-align:center;padding-top:1rem}.contact__cta p{color:var(--text-muted);margin-bottom:1.5rem;font-size:1.05rem}@media(max-width:640px){.contact__grid{grid-template-columns:1fr}}
