@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0c0f;--surface:#13131a;--border:#1e1e28;--text:#7a7a88;--text-bright:#e8e8f0;--accent:#64ffda;--accent-dim:#64ffda1f;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.6}body,#root{min-height:100dvh}a{color:inherit;text-decoration:none}.app{flex-direction:column;min-height:100dvh;display:flex}.navbar{z-index:100;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#0c0c0fd9;justify-content:space-between;align-items:center;height:56px;padding:0 32px;display:flex;position:fixed;top:0;left:0;right:0}@media (width<=640px){.navbar{padding:0 20px}}.nav-logo{color:var(--accent);letter-spacing:.05em;font-size:15px;font-weight:600;text-decoration:none}.nav-links{gap:8px;display:flex}.nav-links a{color:var(--text);border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.nav-links a:hover{color:var(--text-bright);background:#ffffff0d}.nav-links a.active{color:var(--accent)}.home-page{flex-direction:column;padding-bottom:80px;display:flex}#hero{justify-content:center;padding:120px 48px 64px;display:flex}@media (width<=640px){#hero{padding:100px 24px 48px}}.hero-inner{align-items:flex-start;gap:56px;width:100%;max-width:900px;display:flex}@media (width<=768px){.hero-inner{flex-direction:column-reverse;align-items:center;gap:32px}}.hero-text{flex:1;min-width:0}.hero-photo{flex-shrink:0}.hero-photo img{object-fit:cover;object-position:center top;border:2px solid var(--border);border-radius:50%;width:200px;height:200px;display:block}@media (width<=768px){.hero-photo img{width:140px;height:140px}}.hero-greeting{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:13px;font-weight:500}.hero-name{color:var(--text-bright);letter-spacing:-.02em;margin-bottom:12px;font-size:clamp(2.5rem,6vw,4rem);font-weight:600;line-height:1.1}.hero-title{color:var(--text);margin-bottom:24px;font-size:clamp(1.1rem,2.5vw,1.5rem);font-weight:400}.hero-bio{color:var(--text);margin-bottom:40px;font-size:.95rem;line-height:1.75}.hero-bio p+p{margin-top:16px}.hero-links{flex-wrap:wrap;gap:12px;display:flex}.hero-links a{border-radius:6px;align-items:center;gap:6px;padding:8px 18px;font-size:13px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.hero-links a.primary{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent)}.hero-links a.primary:hover{background:var(--accent);color:var(--bg)}.hero-links a.secondary{color:var(--text-bright);border:1px solid var(--border)}.hero-links a.secondary:hover{border-color:var(--accent);color:var(--accent)}.resume-page{flex:1;width:100%;max-width:900px;margin:0 auto;padding:80px 48px}@media (width<=640px){.resume-page{padding:48px 24px}}.skills-section{width:100%;max-width:900px;margin:0 auto;padding:0 48px}@media (width<=640px){.skills-section{padding:0 24px}}.section-title{letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:32px;font-size:11px;font-weight:600}.skills-layout{border:1px solid var(--border);border-radius:10px;gap:0;display:flex;overflow:hidden}.skills-nav{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;min-width:140px;display:flex}@media (width<=640px){.skills-nav{min-width:110px}}.skills-tab{cursor:pointer;color:var(--text);text-align:left;background:0 0;border:none;border-left:2px solid #0000;padding:14px 20px;font-family:inherit;font-size:13px;font-weight:500;transition:color .15s,background .15s}.skills-tab:hover{color:var(--text-bright);background:#ffffff08}.skills-tab.active{color:var(--accent);background:var(--accent-dim);border-left-color:var(--accent)}.skills-grid{flex-wrap:wrap;flex:1;align-content:flex-start;gap:12px;padding:24px;animation:.2s skillsFadeIn;display:flex}@keyframes skillsFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.skill-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;align-items:center;gap:8px;width:90px;padding:16px 12px;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.skill-card img{object-fit:contain;width:36px;height:36px;transition:opacity .2s}.skill-card span{color:var(--text);text-align:center;font-size:11px;font-weight:500;line-height:1.3;transition:opacity .2s}.skill-card:hover{border-color:var(--accent);transform:translateY(-2px)}.skill-card:hover img,.skill-card:hover span{opacity:0}.skill-card:hover .skill-desc{opacity:1;transform:translateY(0)}.skill-desc{color:var(--accent);text-align:center;background:var(--accent-dim);opacity:0;pointer-events:none;justify-content:center;align-items:center;padding:8px;font-size:10px;font-weight:500;line-height:1.4;transition:opacity .2s,transform .2s;display:flex;position:absolute;inset:0;transform:translateY(4px)}
