:root{--bg: #0a0a0a;--bg-elevated: #141414;--text: #ffffff;--text-muted: #a3a3a3;--accent: #ffffff;--accent-gray: #525252;--splatter: rgba(82, 82, 82, .4);--ambient-left: rgba(255, 255, 255, .055);--ambient-right: rgba(255, 255, 255, .024);--splash-tint: rgba(255, 255, 255, .18);--splash-left-visibility: .65;--splash-right-visibility: .12;--splash-left-shift-x: 0px;--splash-left-shift-y: 0px;--splash-right-shift-x: 0px;--splash-right-shift-y: 0px;--splash-left-rotate: 0deg;--splash-right-rotate: 0deg;--splash-left-scale: 1;--splash-right-scale: 1;--border: #262626;--link: #ffffff;--link-hover: #d4d4d4}[data-theme=light]{--bg: #fafafa;--bg-elevated: #ffffff;--text: #0a0a0a;--text-muted: #525252;--accent: #0a0a0a;--accent-gray: #a3a3a3;--splatter: rgba(163, 163, 163, .3);--ambient-left: rgba(0, 0, 0, .05);--ambient-right: rgba(0, 0, 0, .02);--splash-tint: rgba(0, 0, 0, .14);--splash-left-visibility: .52;--splash-right-visibility: .1;--border: #e5e5e5;--link: #0a0a0a;--link-hover: #404040}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);background-image:radial-gradient(circle at 20% 14%,var(--ambient-left) 0%,transparent 28%),radial-gradient(circle at 85% 20%,var(--ambient-right) 0%,transparent 20%);background-repeat:no-repeat;background-attachment:fixed;color:var(--text);line-height:1.6;min-height:100vh;transition:background .3s ease,color .3s ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--splash-tint);mask-image:url(/asset/candidates/onlygfx-brush-splatter.png);mask-size:min(720px,58vw) auto;mask-position:left -8rem bottom -3rem;mask-repeat:no-repeat;-webkit-mask-image:url(/asset/candidates/onlygfx-brush-splatter.png);-webkit-mask-size:min(720px,58vw) auto;-webkit-mask-position:left -8rem bottom -3rem;-webkit-mask-repeat:no-repeat;transform:translate3d(var(--splash-left-shift-x),var(--splash-left-shift-y),0) rotate(var(--splash-left-rotate)) scale(var(--splash-left-scale));transform-origin:12% 84%;opacity:var(--splash-left-visibility);will-change:transform,opacity;pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:var(--splash-tint);mask-image:url(/asset/candidates/onlygfx-brush-splatter.png);mask-size:min(860px,74vw) auto;mask-position:right -4rem top -2.5rem;mask-repeat:no-repeat;-webkit-mask-image:url(/asset/candidates/onlygfx-brush-splatter.png);-webkit-mask-size:min(860px,74vw) auto;-webkit-mask-position:right -4rem top -2.5rem;-webkit-mask-repeat:no-repeat;transform:translate3d(var(--splash-right-shift-x),var(--splash-right-shift-y),0) rotate(var(--splash-right-rotate)) scale(var(--splash-right-scale));transform-origin:86% 84%;opacity:var(--splash-right-visibility);will-change:transform,opacity;pointer-events:none;z-index:0}.nav{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--border)}.nav-container{max-width:1100px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.nav-logo{text-decoration:none;color:var(--text);font-family:Bebas Neue,sans-serif;font-size:1.75rem;letter-spacing:.05em}.logo-text{font-weight:400}.logo-dot{opacity:.9;font-weight:700}.nav-links{display:flex;list-style:none;gap:2rem}.nav-links a{color:var(--text-muted);text-decoration:none;font-weight:500;font-size:.9rem;transition:color .2s}.nav-links a:hover{color:var(--text)}.nav-underline{height:2px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 30%,transparent 100%);opacity:.8}.nav-mobile-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px}.nav-mobile-toggle span{width:24px;height:2px;background:var(--text)}.theme-toggle{position:fixed;top:1rem;right:1rem;z-index:101}.theme-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text);cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.theme-btn:hover{background:var(--border)}[data-theme=light] .icon-sun,.icon-moon{display:none}[data-theme=light] .icon-moon,.icon-sun{display:inline}.hero{position:relative;padding:4rem 1.5rem 3rem;max-width:1100px;margin:0 auto}.hero-splatter{position:absolute;top:0;left:0;width:300px;height:300px;background:radial-gradient(circle,var(--splatter) 0%,transparent 70%);pointer-events:none}.hero-content{display:flex;flex-wrap:wrap;gap:2.5rem;align-items:center}.hero-image-wrap{flex-shrink:0;width:220px;height:220px;border-radius:50%;overflow:hidden;border:3px solid var(--border);box-shadow:0 8px 32px #0000004d}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center 25%;transform:scale(1.35)}.hero-text h1{font-family:Bebas Neue,sans-serif;font-size:3rem;letter-spacing:.02em;margin-bottom:.25rem}.hero-tagline{font-size:1.25rem;color:var(--text-muted);font-weight:500;margin-bottom:.25rem}.hero-sub{font-size:.95rem;color:var(--text-muted);margin-bottom:1rem}.hero-quote{font-style:italic;color:var(--accent-gray);font-size:.9rem}.hero-underline{margin-top:2rem;height:2px;background:linear-gradient(90deg,var(--accent) 0%,var(--accent) 40%,transparent 100%);opacity:.7}.section{max-width:1100px;margin:0 auto;padding:3rem 1.5rem}.section-title{font-family:Bebas Neue,sans-serif;font-size:2rem;letter-spacing:.05em;margin-bottom:.5rem}.section-underline{height:2px;width:120px;background:var(--accent);margin-bottom:2rem;opacity:.8}.about-content p{margin-bottom:1rem;color:var(--text-muted);max-width:65ch}.timeline{position:relative}.timeline-item{margin-bottom:2rem}.timeline-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;width:100%;text-align:left;background:none;border:none;color:inherit;cursor:pointer;padding:0;font:inherit}.timeline-header:hover{opacity:.9}.timeline-header-text{flex:1}.timeline-chevron{flex-shrink:0;font-size:1rem;font-weight:600;opacity:.8;transition:transform .2s ease;margin-right:.5rem;margin-top:.1rem}.timeline-item[data-expanded] .timeline-chevron{transform:rotate(90deg)}.timeline-details{overflow:hidden;max-height:0;opacity:0;transition:max-height .3s ease,opacity .2s ease,margin-top .2s ease;padding-left:1.5rem}.timeline-item[data-expanded] .timeline-details{max-height:1200px;opacity:1;margin-top:.75rem}.timeline-content h3{font-size:1.1rem;font-weight:600;margin-bottom:.25rem}.timeline-company{color:var(--text-muted);font-size:.9rem;margin-bottom:.15rem}.timeline-date{color:var(--accent-gray);font-size:.85rem;margin-bottom:.35rem}.timeline-summary{color:var(--text-muted);font-size:.88rem;line-height:1.4;margin-bottom:0}.timeline-content ul{list-style:none}.timeline-content li{position:relative;padding-left:1rem;margin-bottom:.4rem;color:var(--text-muted);font-size:.9rem}.timeline-content li:before{content:"→";position:absolute;left:0;color:var(--accent-gray)}.education-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.edu-card{background:var(--bg-elevated);border:1px solid var(--border);padding:1.5rem;border-radius:4px}.edu-card h3{font-size:1.1rem;margin-bottom:.5rem}.edu-school{font-weight:500;margin-bottom:.25rem}.edu-location,.edu-date{color:var(--text-muted);font-size:.9rem;margin-bottom:.25rem}.edu-note{color:var(--accent-gray);font-size:.85rem;margin-top:.5rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.skill-category{background:var(--bg-elevated);border:1px solid var(--border);padding:1rem;border-radius:4px}.skill-category h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-gray);margin-bottom:.5rem}.skill-category p{font-size:.9rem;color:var(--text-muted)}.certifications,.honors{margin-top:1.5rem}.certifications h4,.honors h4{font-size:.9rem;margin-bottom:.5rem}.certifications ul,.honors ul{list-style:none}.certifications li,.honors li{padding-left:1rem;margin-bottom:.25rem;color:var(--text-muted);font-size:.9rem}.certifications li:before,.honors li:before{content:"•";position:absolute;margin-left:-1rem;color:var(--accent-gray)}.connect-section{padding-bottom:4rem}.connect-contact{margin-bottom:1.5rem}.connect-contact a{color:var(--link);text-decoration:none;border-bottom:1px solid var(--border);transition:color .2s,border-color .2s}.connect-contact a:hover{color:var(--link-hover)}.connect-links{display:flex;gap:1rem}.connect-links a{opacity:.8;transition:opacity .2s}.connect-links a:hover{opacity:1}.connect-links img{filter:invert(1)}[data-theme=light] .connect-links img{filter:none}.footer{text-align:center;padding:2rem 1.5rem;color:var(--text-muted);font-size:.85rem}.footer-underline{max-width:200px;height:1px;background:var(--accent);margin:0 auto 1.5rem;opacity:.5}@media(max-width:768px){body:before{mask-size:min(520px,92vw) auto;mask-position:left -6rem bottom -3rem;-webkit-mask-size:min(520px,92vw) auto;-webkit-mask-position:left -6rem bottom -3rem}body:after{mask-size:min(620px,120vw) auto;mask-position:right -7rem top -3rem;-webkit-mask-size:min(620px,120vw) auto;-webkit-mask-position:right -7rem top -3rem}.nav-links{display:none}.nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg-elevated);padding:1rem;border-bottom:1px solid var(--border)}.nav-mobile-toggle{display:flex}.hero-text h1{font-size:2.25rem}.hero-image{width:160px;height:160px}.theme-toggle{top:.75rem;right:.75rem}}
