.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:1.5rem}.login-card{width:100%;max-width:360px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem}.login-title{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.login-subtitle{color:var(--text-muted);font-size:.9375rem;margin-bottom:1.5rem}.login-form{display:flex;flex-direction:column;gap:1rem}.login-label{font-size:.875rem;font-weight:500;color:var(--text-muted)}.login-input{width:100%;padding:.75rem 1rem;font-size:1rem;font-family:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .2s}.login-input:focus{border-color:var(--accent)}.login-error{font-size:.875rem;color:#f87171}.login-btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s}.login-btn:hover{background:var(--accent-hover)}.admin-page{min-height:100vh;background:var(--bg);padding-bottom:3rem}.admin-header{position:sticky;top:0;z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--bg-elevated);border-bottom:1px solid var(--border)}.admin-header__title{font-size:1.25rem;font-weight:700}.admin-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.admin-content{max-width:720px;margin:0 auto;padding:1.5rem}.admin-section{margin-bottom:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.admin-section__head{width:100%;padding:1rem 1.25rem;font-size:1rem;font-weight:600;text-align:left;color:var(--text);background:transparent;border:none;cursor:pointer;transition:background .2s}.admin-section__head:hover{background:var(--bg-elevated)}.admin-section__body{padding:0 1.25rem 1.25rem;display:none}.admin-section--open .admin-section__body{display:block}.admin-field,.admin-block{margin-bottom:1rem}.admin-field label,.admin-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-muted);margin-bottom:.35rem}.admin-field input,.admin-field textarea,.admin-full{width:100%;padding:.5rem .75rem;font-size:.9375rem;font-family:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .2s}.admin-field textarea,.admin-full{resize:vertical;min-height:2.5rem}.admin-field input:focus,.admin-field textarea:focus{border-color:var(--accent)}.admin-row{display:flex;gap:.5rem;margin-bottom:.5rem}.admin-row input{flex:1;padding:.5rem .75rem;font-size:.9375rem;font-family:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);outline:none}.admin-block{padding:1rem;background:var(--bg-elevated);border-radius:var(--radius);margin-bottom:1rem}.admin-btn{display:inline-flex;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;font-family:inherit;border-radius:var(--radius);border:none;cursor:pointer;transition:background .2s,color .2s}.admin-btn:disabled{opacity:.7;cursor:not-allowed}.admin-btn--primary{background:var(--accent);color:#fff}.admin-btn--primary:hover:not(:disabled){background:var(--accent-hover)}.admin-btn--secondary{background:var(--accent-muted);color:var(--text)}.admin-btn--secondary:hover{background:#6366f140}.admin-btn--ghost{background:transparent;color:var(--text-muted);text-decoration:none}.admin-btn--ghost:hover{color:var(--text)}.admin-btn--danger{background:#ef444426;color:#f87171;margin-top:.5rem}.admin-btn--danger:hover{background:#ef444440}.admin-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border)}:root{--bg: #0a0a0f;--bg-elevated: #12121a;--bg-card: #16161f;--text: #f4f4f5;--text-muted: #a1a1aa;--accent: #6366f1;--accent-hover: #818cf8;--accent-muted: rgba(99, 102, 241, .15);--border: rgba(255, 255, 255, .06);--font-sans: "Outfit", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--radius: 12px;--radius-lg: 20px;--transition: .2s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}ul{list-style:none}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 1.5rem}.section{padding:5rem 0}.section-title{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;margin-bottom:.5rem;letter-spacing:-.02em}.section-subtitle{color:var(--text-muted);font-size:1rem;margin-bottom:2.5rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-fade-up{animation:fadeUp .6s ease forwards}.header{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 0;transition:background var(--transition),box-shadow var(--transition)}.header--scrolled{background:#0a0a0fd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--border)}.header__inner{display:flex;align-items:center;justify-content:space-between}.header__logo{font-size:1.5rem;font-weight:700;letter-spacing:-.03em}.header__logo-accent{color:var(--accent)}.header__nav{display:flex;gap:2rem}.header__link{font-size:.9375rem;font-weight:500;color:var(--text-muted);transition:color var(--transition)}.header__link:hover{color:var(--text)}.header__menu{display:none;flex-direction:column;gap:6px;background:none;border:none;cursor:pointer;padding:8px}.header__menu-bar{width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform var(--transition),opacity var(--transition)}.header__menu-bar--open:nth-child(1){transform:translateY(8px) rotate(45deg)}.header__menu-bar--open:nth-child(2){opacity:0}.header__menu-bar--open:nth-child(3){transform:translateY(-8px) rotate(-45deg)}@media (max-width: 768px){.header__nav{position:fixed;top:0;right:0;bottom:0;width:280px;background:var(--bg-elevated);flex-direction:column;padding:5rem 2rem 2rem;gap:1.5rem;box-shadow:-4px 0 24px #0000004d;transform:translate(100%);transition:transform var(--transition)}.header__nav--open{transform:translate(0)}.header__link{font-size:1.125rem}.header__menu{display:flex}}.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding:6rem 0 4rem}.hero__inner{position:relative;z-index:1}.hero__greeting{font-size:1rem;color:var(--accent);font-weight:500;margin-bottom:.5rem;opacity:0}.hero__name{font-size:clamp(3rem,10vw,4.5rem);font-weight:700;letter-spacing:-.04em;line-height:1.1;margin-bottom:.5rem;background:linear-gradient(135deg,#fff,#a1a1aa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:0}.hero__tagline{font-size:clamp(1.25rem,3vw,1.5rem);color:var(--text-muted);margin-bottom:1.25rem;opacity:0}.hero__bio{max-width:520px;color:var(--text-muted);font-size:1.0625rem;margin-bottom:2rem;opacity:0}.hero__cta{display:flex;flex-wrap:wrap;gap:1rem;opacity:0}.btn{display:inline-flex;align-items:center;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;border-radius:var(--radius);transition:background var(--transition),color var(--transition),transform var(--transition)}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn--secondary{background:var(--accent-muted);color:var(--text);border:1px solid var(--border)}.btn--secondary:hover{background:#6366f140}.btn--large{padding:1rem 1.75rem;font-size:1rem}.hero__gradient{position:absolute;top:-20%;right:-10%;width:60%;height:80%;background:radial-gradient(ellipse,rgba(99,102,241,.12) 0%,transparent 70%);pointer-events:none}.about__grid{display:grid;gap:2.5rem}.about__text{color:var(--text-muted);margin-bottom:1rem;max-width:560px}.about__links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.about__link{font-size:.9375rem;font-weight:500;color:var(--accent);transition:color var(--transition)}.about__link:hover{color:var(--accent-hover)}.about__meta{display:flex;flex-wrap:wrap;gap:2rem}.about__meta-item{display:flex;flex-direction:column;gap:.25rem}.about__meta-label{font-size:.8125rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.about__meta-value{font-weight:500;color:var(--text)}.about__meta-value:hover{color:var(--accent)}@media (min-width: 768px){.about__grid{grid-template-columns:1fr auto;align-items:start}}.section--alt{background:var(--bg-elevated)}.exp-list{display:flex;flex-direction:column;gap:1.5rem}.exp-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;transition:border-color var(--transition)}.exp-item:hover{border-color:#6366f14d}.exp-item__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.exp-item__role{font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.exp-item__company{color:var(--accent);font-size:.9375rem}.exp-item__period{font-size:.875rem;color:var(--text-muted);font-family:var(--font-mono)}.exp-item__title{font-size:.9375rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.exp-item__bullets{margin-bottom:.75rem;padding-left:1.25rem}.exp-item__bullet{color:var(--text-muted);font-size:.9375rem;line-height:1.65;margin-bottom:.35rem}.exp-item__tech{font-size:.8125rem;color:var(--text-muted);font-family:var(--font-mono)}.exp-item__tech-label{color:var(--accent);font-weight:500}.skills-list{display:flex;flex-wrap:wrap;gap:.75rem}.skills-item{padding:.5rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);font-size:.9375rem;font-weight:500;color:var(--text-muted);transition:border-color var(--transition),color var(--transition)}.skills-item:hover{border-color:var(--accent-muted);color:var(--text)}.projects-grid{display:grid;gap:1.5rem}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;transition:border-color var(--transition)}.project-card:hover{border-color:#6366f14d}.project-card__title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.project-card__desc{color:var(--text-muted);font-size:.9375rem;margin-bottom:1rem;line-height:1.6}.project-card__tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.project-card__tag{font-size:.8125rem;font-family:var(--font-mono);color:var(--accent);background:var(--accent-muted);padding:.25rem .5rem;border-radius:6px}.project-card__links{display:flex;gap:1rem}.project-card__link{font-size:.875rem;font-weight:500;color:var(--accent);transition:color var(--transition)}.project-card__link:hover{color:var(--accent-hover)}@media (min-width: 768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}.edu-list{display:flex;flex-direction:column;gap:1.5rem}.edu-item{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.75rem}.edu-item__degree{font-size:1.125rem;font-weight:600;margin-bottom:.25rem}.edu-item__institution{color:var(--accent);font-size:.9375rem;margin-bottom:.25rem}.edu-item__period{font-size:.875rem;color:var(--text-muted);font-family:var(--font-mono)}.cert-list{display:flex;flex-wrap:wrap;gap:.75rem}.cert-item{display:flex;flex-direction:column;gap:.15rem;padding:.75rem 1rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);font-size:.9375rem;transition:border-color var(--transition)}.cert-item:hover{border-color:#6366f14d}.cert-item__name{font-weight:600;color:var(--text)}.cert-item__issuer{color:var(--text-muted);font-size:.8125rem}.contact{text-align:center}.contact__inner{max-width:560px;margin-left:auto;margin-right:auto}.contact .section-subtitle{margin-bottom:2rem}.contact__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2rem}.contact__social{display:flex;justify-content:center;gap:1.5rem}.contact__social-link{font-size:.9375rem;color:var(--text-muted);transition:color var(--transition)}.contact__social-link:hover{color:var(--accent)}.footer{padding:1.5rem 0;border-top:1px solid var(--border);background:var(--bg-elevated)}.footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem}.footer__copy{font-size:.875rem;color:var(--text-muted)}.footer__links{display:flex;gap:1.5rem}.footer__link{font-size:.875rem;color:var(--text-muted);transition:color var(--transition)}.footer__link:hover{color:var(--text)}
