@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:72px;width:100%;max-width:1120px;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:1120px;margin:0 auto;padding:80px 48px}@media (width<=640px){.resume-page{padding:48px 24px}}.skills-section{width:100%;max-width:1120px;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)}}.section-toggle{gap:8px;margin-bottom:20px;display:flex}.toggle-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:6px 18px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.toggle-btn:hover{color:var(--text-bright);border-color:var(--text)}.toggle-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.exp-list{flex-direction:column;gap:12px;animation:.2s skillsFadeIn;display:flex}.exp-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:6px;width:100%;padding:16px 20px;transition:border-color .2s;display:flex}.exp-card:hover{border-color:var(--accent)}.exp-company{color:var(--text-bright);font-size:15px;font-weight:600}.exp-role{color:var(--accent);font-size:13px;font-weight:500}.exp-meta{color:var(--text);gap:16px;font-size:12px;display:flex}.exp-stack{color:var(--text);border-top:1px solid var(--border);margin-top:4px;padding-top:8px;font-size:11px;line-height:1.5}.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)}.project-card{border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:10px;flex-direction:column;gap:10px;padding:20px 22px;text-decoration:none;transition:border-color .2s,transform .2s,background .2s;display:flex;position:relative}.project-card:hover{border-color:var(--accent);background:linear-gradient(180deg, var(--surface), var(--accent-dim));transform:translateY(-2px)}.project-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.project-title-group{flex-direction:column;gap:2px;display:flex}.project-company{color:var(--text-bright);letter-spacing:-.01em;font-size:16px;font-weight:600}.project-studio{letter-spacing:.05em;text-transform:uppercase;color:var(--text);font-size:11px;font-weight:500}.project-status{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid var(--accent);background:var(--accent-dim);border-radius:999px;padding:3px 10px;font-size:10px;font-weight:600}.project-role{color:var(--accent);font-size:13px;font-weight:500}.project-desc{color:var(--text);font-size:13px;line-height:1.65}.project-stack{flex-wrap:wrap;gap:6px;padding-top:4px;display:flex}.project-chip{color:var(--text-bright);border:1px solid var(--border);background:#ffffff05;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:500}.project-link{color:var(--accent);border-top:1px solid var(--border);margin-top:4px;padding-top:6px;font-size:12px;font-weight:500}
