:root{--night:#111412;--panel:#171b18;--ink:#f0f2eb;--muted:#9a9f98;--subtle:#656b64;--line:#ebf3e81a;--lime:#cdff5b;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;font-family:var(--sans);color:var(--ink);background:var(--night);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;scroll-behavior:smooth}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}::selection{color:var(--night);background:var(--lime)}:focus-visible{outline:2px solid var(--lime);outline-offset:4px}.site-shell{overflow-x:clip}.section-wrap,.site-header{width:min(1120px,100% - 64px);margin-inline:auto}.site-header{z-index:5;border-bottom:1px solid var(--line);background:var(--night);justify-content:space-between;align-items:center;height:88px;display:flex;position:relative}.brand{color:var(--ink);letter-spacing:-.5px;align-items:center;font-size:15px;font-weight:700;display:inline-flex}.header-controls{align-items:center;gap:28px;display:flex}.main-nav{align-items:center;gap:34px;display:flex}.main-nav a,.header-contact,.back-top{color:var(--muted);font-size:12px;font-weight:500;transition:color .16s}.main-nav a:hover,.back-top:hover{color:var(--lime)}.header-contact{color:var(--ink);align-items:center;gap:10px;display:inline-flex}.menu-toggle{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);cursor:pointer;background:0 0;border-radius:5px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:5px;display:none}.menu-toggle span{background:currentColor;border-radius:2px;width:18px;height:2px;transition:transform .16s,opacity .16s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px)rotate(-45deg)}.header-contact svg,.button svg,.text-link-arrow svg,.project-links svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.header-contact svg{color:var(--lime);transition:transform .16s}.header-contact:hover svg{transform:translate(3px)}.hero{grid-template-columns:1.05fr .95fr;align-items:center;min-height:610px;padding-block:70px 95px;display:grid;position:relative}.hero-copy{z-index:1;padding-bottom:6px;position:relative}.eyebrow{color:var(--lime);font-family:var(--mono);letter-spacing:1.3px;margin:0;font-size:10px;font-weight:500}.hero .eyebrow{align-items:center;gap:9px;display:flex}.status-dot{background:var(--lime);border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #cdff5ba6}.hero h1{max-width:590px;color:var(--ink);letter-spacing:-5.2px;margin:25px 0 20px;font-size:clamp(52px,6.1vw,76px);font-weight:500;line-height:.99}.hero h1 span,.section-heading h2 span,.contact-card h2 span{color:var(--lime)}.hero-intro{max-width:435px;color:var(--muted);margin:0;font-size:15px;line-height:1.8}.hero-positioning{color:var(--ink);margin:15px 0 13px;font-size:13px;font-weight:500;line-height:1.6}.hero-positioning span{color:var(--lime);margin-inline:5px}.location-note{color:var(--subtle);align-items:center;gap:7px;margin:14px 0 0;font-size:11px;transition:color .16s;display:inline-flex}.location-note:hover{color:var(--ink)}.location-note svg{width:15px;height:15px;stroke:var(--lime);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.hero-actions{align-items:center;gap:27px;margin-top:32px;display:flex}.button{border-radius:5px;justify-content:center;align-items:center;gap:16px;min-height:48px;padding:0 19px;font-size:12px;font-weight:600;transition:transform .16s,background .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--lime);color:var(--night)}.button-primary:hover{background:#d9ff87}.button-primary svg{width:16px;height:16px}.text-link{color:var(--ink);font-size:12px;font-weight:500}.text-link:hover{color:var(--lime)}.hero-note{color:var(--subtle);font-family:var(--mono);align-items:center;gap:11px;margin-top:57px;font-size:10px;display:flex}.hero-links{align-items:center;gap:18px;margin-top:21px;display:flex}.hero-links a{color:var(--muted);align-items:center;gap:6px;font-size:11px;transition:color .16s;display:inline-flex}.hero-links a:hover{color:var(--lime)}.hero-links a>svg:first-child{width:16px;height:16px}.hero-links a>svg:last-child{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.note-line{background:var(--lime);width:28px;height:1px}.hero-art{place-items:center;min-height:425px;display:grid;position:relative}.art-glow{filter:blur(7px);background:radial-gradient(circle,#cdff5b1c,#0000 68%);border-radius:50%;width:340px;height:340px;position:absolute}.portrait-card{z-index:1;background:linear-gradient(#0000 39%,#0c0f0ffa 100%),radial-gradient(at 50% 35%,#445345 0%,#29312d 33%,#161a18 73%);border:1px solid #cdff5b38;border-radius:130px 130px 8px 8px;flex-direction:column;justify-content:flex-end;width:270px;height:340px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 70px #0000004d}.portrait-card:before,.portrait-card:after{content:"";pointer-events:none;border:1px solid #cdff5b1a;border-radius:50%;position:absolute}.portrait-card:before{width:320px;height:320px;top:-34px;left:-26px}.portrait-card:after{border-color:#ffffff14;width:240px;height:240px;top:6px;left:14px}.portrait-image{object-fit:cover;object-position:center 28%;width:100%;height:100%;position:absolute;inset:0}.portrait-shade{z-index:1;background:linear-gradient(#0000,#0c0f0ff5);position:absolute;inset:35% 0 0}.portrait-caption{z-index:2;gap:5px;display:grid;position:relative}.caption-label,.caption-role{color:var(--muted);font-family:var(--mono);letter-spacing:.8px;font-size:9px}.portrait-caption strong{color:var(--ink);letter-spacing:-.7px;overflow-wrap:anywhere;font-size:clamp(14px,1.4vw,17px);font-weight:500}.caption-role{letter-spacing:0}.floating-tag{z-index:2;border:1px solid var(--line);color:var(--ink);background:#151917f0;border-radius:5px;align-items:center;gap:9px;padding:11px 14px;font-size:10px;display:flex;position:absolute;box-shadow:0 10px 35px #0000002e}.tag-top{top:77px;right:3px}.tag-bottom{bottom:56px;left:-6px}.tag-spark,.tag-code{color:var(--lime);font-family:var(--mono);font-size:13px}.art-orbit{border:1px solid #cdff5b1a;border-radius:50%;position:absolute;transform:rotate(-28deg)}.orbit-one{width:390px;height:185px}.orbit-two{border-color:#ffffff0e;width:440px;height:235px}.scroll-cue{color:var(--subtle);font-family:var(--mono);letter-spacing:.5px;text-transform:uppercase;align-items:center;gap:10px;font-size:9px;display:inline-flex;position:absolute;bottom:37px;right:0}.scroll-cue span{background:var(--lime);width:1px;height:25px}.about-section{border-top:1px solid var(--line);grid-template-columns:1fr .75fr;gap:90px;padding-block:112px 119px;display:grid}.section-heading h2{max-width:550px;color:var(--ink);letter-spacing:-2px;margin:20px 0 0;font-size:clamp(34px,4vw,47px);font-weight:500;line-height:1.12}.about-content{padding-top:10px}.about-lead{color:var(--ink);margin:0 0 16px;font-size:17px;line-height:1.6}.about-detail{color:var(--muted);margin:0;font-size:12px;line-height:1.9}.about-content .text-link{align-items:center;gap:9px;margin-top:25px;display:inline-flex}.text-link-arrow svg{width:15px;height:15px;color:var(--lime)}.education-section{border-top:1px solid var(--line);grid-template-columns:.9fr 1.1fr;align-items:center;gap:64px;padding-block:78px 88px;display:grid}.education-section .section-heading h2{font-size:clamp(32px,3.5vw,41px)}.education-card{border:1px solid var(--line);background:radial-gradient(ellipse at 2% 50%, #cdff5b0f, transparent 44%), var(--panel);border-radius:5px;align-items:center;gap:19px;min-height:145px;padding:26px 28px;display:flex;position:relative}.education-mark{width:48px;height:48px;color:var(--lime);border:1px solid #cdff5b40;border-radius:50%;flex:none;place-items:center;display:grid}.education-mark svg{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.education-details{gap:7px;display:grid}.education-status,.education-field{color:var(--lime);font-family:var(--mono);letter-spacing:.8px;margin:0;font-size:9px}.education-details h3{color:var(--ink);letter-spacing:-.3px;margin:0;font-size:17px;font-weight:500}.education-details>p:last-child{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.education-field{color:var(--subtle);font-size:8px;position:absolute;bottom:13px;right:16px}.skills-section{background:var(--panel)}.skills-inner{padding-block:100px 112px}.skills-inner .section-heading h2{max-width:600px}.skills-intro{max-width:390px;color:var(--muted);margin:16px 0 35px;font-size:12px;line-height:1.8}.skills-groups{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.skill-group{border:1px solid var(--line);background:#ffffff03;border-radius:4px;min-width:0;padding:18px}.skill-group h3{color:var(--ink);margin:0 0 15px;font-size:13px;font-weight:500}.skill-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.skill-item{align-items:center;gap:9px;min-width:0;display:flex}.skill-icon{flex:0 0 20px;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.skill-icon svg{width:20px;height:20px;display:block}.skill-item-copy{gap:3px;min-width:0;display:grid}.skill-name{color:var(--ink);overflow-wrap:anywhere;font-size:11px;font-weight:500}.skill-context{color:var(--subtle);font-size:9px;line-height:1.4}.skill-status{border:1px solid var(--line);color:var(--muted);font-family:var(--mono);text-align:center;border-radius:3px;flex:none;margin-left:auto;padding:4px 6px;font-size:8px;line-height:1.3}.skill-status-used-in-project{color:var(--lime);border-color:#cdff5b4d}.skill-status-learning{color:var(--lime);border-color:#cdff5b33}.skill-status-studied,.skill-status-guard-team-stack,.skill-status-research-environment{color:var(--muted)}.projects-section{padding-block:112px 122px}.projects-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:37px;display:flex}.projects-intro{max-width:270px;color:var(--muted);margin:0 0 4px;font-size:11px;line-height:1.8}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;display:grid}.project-card{border:1px solid var(--line);background:var(--panel);border-radius:7px;flex-direction:column;min-width:0;transition:border-color .18s,transform .18s,box-shadow .18s;display:flex;overflow:hidden}.project-card:hover{border-color:#cdff5b47;transform:translateY(-3px);box-shadow:0 16px 38px #0003}.project-visual{background:#171a18;flex:none;height:200px}.project-visual-image{overflow:hidden}.project-visual-image img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .22s;display:block}.project-card:hover .project-visual-image img{transform:scale(1.025)}.project-visual-research{background:radial-gradient(#cdff5b1a,#0000 40%),linear-gradient(135deg,#1d2420,#171a18);place-items:center;display:grid}.research-art{justify-items:center;gap:10px;display:grid}.research-art-mark{color:var(--lime);font-family:var(--mono);letter-spacing:-3px;font-size:44px}.research-art-label{color:var(--muted);font-family:var(--mono);letter-spacing:1.2px;font-size:9px}.project-body{flex:1;align-content:start;gap:18px;padding:24px;display:grid}.project-type{color:var(--lime);font-family:var(--mono);letter-spacing:.9px;margin:0 0 8px;font-size:8px}.project-heading h3{color:var(--ink);letter-spacing:-.5px;margin:0;font-size:20px;font-weight:500}.project-description{color:var(--muted);margin:9px 0 0;font-size:12px;line-height:1.8}.project-contribution{border-left:2px solid var(--lime);background:#cdff5b09;padding:16px 18px}.project-contribution h4,.project-stack h4{color:var(--lime);font-family:var(--mono);letter-spacing:.8px;text-transform:uppercase;margin:0;font-size:9px;font-weight:500}.project-contribution p{color:var(--muted);margin:9px 0 0;font-size:11px;line-height:1.8}.project-stack{gap:10px;display:grid}.project-links{flex-wrap:wrap;gap:16px;display:flex}.project-links a{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:inline-flex}.project-links a:hover{color:var(--lime)}.project-links svg{width:14px;height:14px}.project-tags{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.project-tags li{border:1px solid var(--line);color:var(--muted);font-family:var(--mono);border-radius:3px;padding:5px 8px;font-size:8px}.contact-section{padding-block:0 98px}.contact-card{background:radial-gradient(at 84%,#cdff5b1c,#0000 33%),#1b211e;border-radius:6px;justify-content:space-between;align-items:center;gap:40px;min-height:280px;padding:45px 56px;display:flex;position:relative;overflow:hidden}.contact-card h2{color:var(--ink);letter-spacing:-2px;margin:17px 0 13px;font-size:43px;font-weight:500;line-height:1.08}.contact-copy{max-width:430px;color:var(--muted);margin:0;font-size:11px;line-height:1.8}.contact-links{z-index:1;flex-direction:column;flex:0 0 270px;gap:10px;display:flex;position:relative}.contact-link{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#ffffff06;border-radius:5px;align-items:center;gap:12px;padding:0 15px;font-size:12px;transition:border-color .16s,background .16s,color .16s;display:flex}.contact-link:hover{color:var(--lime);background:#cdff5b0f;border-color:#cdff5b73}.contact-link>svg:first-child{flex:0 0 22px;width:22px;height:22px}.contact-link>svg:first-child:not(.brand-icon){stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.contact-link>span{overflow-wrap:anywhere;min-width:0}.contact-link>svg:last-child{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.65;flex:0 0 14px;width:14px;height:14px;margin-left:auto}.contact-decoration{color:#cdff5b0e;pointer-events:none;font-size:270px;line-height:1;position:absolute;top:-65px;right:130px}.site-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;min-height:83px;display:flex}.footer-brand{font-size:12px}.site-footer p{color:var(--subtle);margin:0;font-size:10px}@media (width>=1400px){.hero{min-height:690px}}@media (width<=800px){.projects-grid{grid-template-columns:1fr}.project-visual{height:220px}.section-wrap,.site-header{width:min(100% - 44px,600px)}.site-header{height:72px}.header-controls{gap:14px}.main-nav{border:1px solid var(--line);background:var(--panel);border-radius:0 0 6px 6px;flex-direction:column;align-items:stretch;gap:0;padding:8px;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 14px 28px #0000004d}.main-nav.main-nav-open{display:flex}.main-nav a{padding:12px;font-size:13px}.menu-toggle{display:inline-flex}.main-nav a,.header-contact{font-size:11px}.hero{grid-template-columns:1fr .8fr;gap:10px;min-height:auto;padding-block:80px 90px}.hero h1{font-size:clamp(48px,8vw,66px)}.hero-art{min-height:360px;transform:scale(.86)}.tag-top{right:-9px}.tag-bottom{left:-10px}.about-section{gap:45px;padding-block:85px}.education-section{grid-template-columns:1fr;gap:25px;padding-block:70px 78px}.skills-inner,.projects-section{padding-block:85px}.contact-card{flex-direction:column;align-items:flex-start;gap:24px;min-height:0;padding:38px}.contact-links{flex-basis:auto;width:100%}.skills-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.section-wrap,.site-header{width:calc(100% - 40px)}.site-header{height:68px}.brand{white-space:nowrap;max-width:180px;font-size:12px}.header-contact{gap:6px;font-size:11px}.header-contact svg{width:15px;height:15px}.hero{grid-template-columns:1fr;padding-block:66px 72px}.hero h1{letter-spacing:-3.8px;max-width:430px;margin-top:20px;font-size:clamp(48px,14vw,67px)}.hero-intro{max-width:390px;font-size:13px}.hero-positioning{max-width:390px;font-size:12px}.hero-actions{flex-wrap:wrap;gap:19px;margin-top:26px}.hero-note{margin-top:30px}.hero-links{margin-top:18px}.hero-art{min-height:360px;margin-top:20px;transform:none}.portrait-card{width:240px;height:310px}.tag-top{top:42px;right:0}.tag-bottom{bottom:35px;left:0}.scroll-cue{bottom:19px}.about-section{grid-template-columns:1fr;gap:24px;padding-block:72px}.section-heading h2{letter-spacing:-1.6px;font-size:36px}.about-content{padding-top:0}.education-section{padding-block:62px 68px}.education-card{gap:14px;padding:22px 18px 34px}.education-mark{width:42px;height:42px}.education-details h3{font-size:15px}.education-field{bottom:11px;right:12px}.skills-inner,.projects-section{padding-block:72px}.skills-groups{grid-template-columns:1fr}.projects-heading{margin-bottom:25px;display:block}.projects-intro{margin-top:14px}.projects-grid{grid-template-columns:1fr}.project-body{gap:18px;padding:18px}.project-visual{height:180px}.project-description,.project-contribution p{font-size:11px}.contact-section{padding-bottom:64px}.contact-card{gap:22px;padding:31px 25px}.contact-card h2{font-size:39px}.contact-decoration{font-size:190px;top:52px;right:-42px}.site-footer{grid-template-columns:1fr auto;row-gap:0;min-height:100px;padding-block:18px;display:grid}.site-footer p{grid-area:2/1/auto/-1}.site-footer .back-top{grid-area:1/2}}@media (width>=431px) and (width<=600px){.skills-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
