:root{--bg: #0a0a0a;--surface: #111111;--accent: #00ff99;--accent-secondary: #5c6bc0;--text: #e0e0e0;--text-muted: #555555;--border: #1e1e1e;--glass-bg: rgba(17, 17, 17, .56);--glass-bg-strong: rgba(12, 12, 12, .72);--glass-border: rgba(255, 255, 255, .12);--glass-shadow: 0 14px 34px rgba(0, 0, 0, .28);--scroll-progress: 0;--scrollbar-track: color-mix(in srgb, var(--surface) 70%, var(--bg));--scrollbar-thumb: color-mix(in srgb, var(--accent) 56%, var(--surface));--scrollbar-thumb-hover: color-mix(in srgb, var(--accent) 76%, #ffffff 8%)}html[data-theme=light]{--bg: #f8f9fb;--surface: #ffffff;--accent: #008a58;--accent-secondary: #3f51b5;--text: #141414;--text-muted: #5b5f66;--border: #d8dde5;--glass-bg: rgba(255, 255, 255, .56);--glass-bg-strong: rgba(255, 255, 255, .74);--glass-border: rgba(255, 255, 255, .6);--glass-shadow: 0 12px 30px rgba(32, 46, 76, .12);--scrollbar-track: color-mix(in srgb, #e6e9ef 72%, #ffffff);--scrollbar-thumb: color-mix(in srgb, var(--accent) 55%, #d8dde5);--scrollbar-thumb-hover: color-mix(in srgb, var(--accent) 78%, #ffffff 10%)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);-ms-overflow-style:auto}html::-webkit-scrollbar{width:.72rem;height:.72rem}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;line-height:1.6;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);-ms-overflow-style:auto}body::-webkit-scrollbar{width:.72rem;height:.72rem}html::-webkit-scrollbar-track,body::-webkit-scrollbar-track,.nav-links::-webkit-scrollbar-track,.topbar-meta::-webkit-scrollbar-track,.table-wrap::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}html::-webkit-scrollbar-thumb,body::-webkit-scrollbar-thumb,.nav-links::-webkit-scrollbar-thumb,.topbar-meta::-webkit-scrollbar-thumb,.table-wrap::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--scrollbar-thumb-hover) 0%,var(--scrollbar-thumb) 100%);border-radius:999px;border:2px solid transparent;background-clip:padding-box}html::-webkit-scrollbar-thumb:hover,body::-webkit-scrollbar-thumb:hover,.nav-links::-webkit-scrollbar-thumb:hover,.topbar-meta::-webkit-scrollbar-thumb:hover,.table-wrap::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--scrollbar-thumb-hover) 0%,color-mix(in srgb,var(--scrollbar-thumb-hover) 75%,var(--accent)) 100%)}.nav-links,.topbar-meta,.table-wrap{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(transparent 0,transparent calc(100% - 1px),color-mix(in srgb,var(--border) 65%,transparent) calc(100% - 1px));background-size:100% 4px;opacity:.11;animation:scanline 12s linear infinite}@keyframes scanline{0%{transform:translateY(0)}to{transform:translateY(4px)}}a{color:inherit;text-decoration:none}.container{width:min(100%,68rem);margin:0 auto;padding:0 1rem}body.has-custom-cursor,body.has-custom-cursor *{cursor:none!important}@media(pointer:fine){html,body,body *{cursor:none!important}}.cursor-layer{position:fixed;inset:0;pointer-events:none;z-index:999;transition:opacity .18s ease}.cursor-ring{position:fixed;left:0;top:0;will-change:transform}.cursor-ring{width:.9rem;height:.9rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 62%,var(--glass-border));background:color-mix(in srgb,var(--glass-bg) 86%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 22%,transparent);transform:translate3d(calc(var(--cursor-x, -100px) - 50%),calc(var(--cursor-y, -100px) - 50%),0) scale(var(--cursor-scale, 1));transition:width .18s ease,height .18s ease,opacity .18s ease}body.cursor-active{--cursor-scale: 1.2}body.cursor-click{--cursor-scale: .86}body.cursor-hidden .cursor-layer{opacity:0}.topbar{position:fixed;inset:0 0 auto;z-index:120;background:var(--glass-bg);-webkit-backdrop-filter:blur(12px) saturate(150%);backdrop-filter:blur(12px) saturate(150%);border-bottom:1px solid var(--glass-border);box-shadow:var(--glass-shadow);animation:topbar-enter .44s ease-out}@keyframes topbar-enter{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.nav{min-height:4rem;display:flex;align-items:center;gap:.9rem}.brand{font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:700;white-space:nowrap;position:relative}.brand:after{content:"";position:absolute;left:0;right:0;bottom:-.35rem;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.brand:hover:after,.brand:focus-visible:after{transform:scaleX(1)}.nav-links{list-style:none;display:flex;flex:1;min-width:0;gap:.2rem;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}.nav-links a{display:inline-block;position:relative;padding:.35rem .55rem;font-size:.85rem;color:var(--text-muted);border-radius:.3rem;overflow:hidden;isolation:isolate;transition:color .12s ease,transform .12s ease}.nav-links a:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,color-mix(in srgb,var(--accent) 24%,transparent) 52%,transparent 100%);transform:translate(-120%);transition:transform .28s ease;pointer-events:none;z-index:-1}.nav-links a:after{content:"";position:absolute;left:.55rem;right:.55rem;bottom:.28rem;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .14s ease}.nav-links a:hover,.nav-links a:focus-visible{color:var(--text);transform:translateY(-1px)}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1)}.nav-links a:hover:before,.nav-links a:focus-visible:before{transform:translate(112%)}.nav-links a.is-active{color:var(--accent)}.nav-links a.is-active:after{transform:scaleX(1)}.icon-button{margin-left:auto;width:2.2rem;height:2.2rem;border:1px solid var(--glass-border);border-radius:.35rem;background:color-mix(in srgb,var(--glass-bg) 94%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);display:grid;place-items:center;cursor:pointer;transition:border-color .14s ease,color .14s ease,transform .14s ease}.icon-button:hover,.icon-button:focus-visible{border-color:var(--accent);color:var(--accent);transform:rotate(-10deg);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent)}.topbar-meta{min-height:2rem;border-top:1px solid var(--glass-border);background:color-mix(in srgb,var(--glass-bg) 92%,transparent);display:flex;align-items:center;gap:.85rem;padding:.32rem 1rem .38rem;font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--text-muted);white-space:nowrap;overflow-x:auto;scrollbar-width:none}.meta-item{margin:0;display:inline-flex;align-items:center;gap:.38rem;border-radius:.3rem;padding:.1rem .3rem;transition:background-color .14s ease,color .14s ease}.meta-item:hover{color:var(--text);background:color-mix(in srgb,var(--glass-bg) 88%,transparent)}.status-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--accent);animation:status-blink 1.8s ease-in-out infinite}@keyframes status-blink{0%,to{opacity:1}50%{opacity:.35}}main{padding-top:6.6rem}.section{padding:2.5rem 0;border-top:1px solid var(--border)}.hero{border-top:0;min-height:calc(100dvh - 5rem);display:flex;flex-direction:column;justify-content:center;gap:.8rem}.hero-stack{display:grid;gap:.8rem;transform:translate3d(0,calc((var(--scroll-progress) * -26px) + var(--parallax-y, 0px)),0);will-change:transform}[data-parallax-speed]{--parallax-y: 0px}[data-parallax-speed]:not(.hero-stack){transform:translate3d(0,var(--parallax-y),0);will-change:transform;transition:transform .12s linear}.section-kicker{margin:0;font-family:JetBrains Mono,monospace;letter-spacing:.04em;font-size:.82rem;color:var(--accent-secondary);text-transform:uppercase;opacity:0;animation:fade-up .52s ease forwards}.hero-title{margin:0;font-family:JetBrains Mono,monospace;font-size:2rem;line-height:1.15;opacity:0;animation:fade-up .56s .12s ease forwards}.blink-cursor{margin-left:.2rem;animation:blink 1s steps(1) infinite}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.hero-role{min-height:1.75rem;margin:0;font-family:JetBrains Mono,monospace;color:var(--accent);font-size:1.02rem;opacity:0;animation:fade-up .56s .2s ease forwards}.hero-bio{margin:0;max-width:40rem;color:var(--text);opacity:0;animation:fade-up .56s .28s ease forwards}.hero-actions{margin-top:.6rem;display:flex;flex-wrap:wrap;gap:.75rem;opacity:0;animation:fade-up .56s .36s ease forwards}.nerd-panel{margin-top:.2rem;width:min(100%,40rem);border:1px solid var(--glass-border);border-radius:.35rem;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(16px) saturate(130%);backdrop-filter:blur(16px) saturate(130%);box-shadow:var(--glass-shadow);padding:.65rem .75rem;display:grid;gap:.3rem;opacity:0;animation:fade-up .56s .43s ease forwards}.nerd-line{margin:0;font-family:JetBrains Mono,monospace;font-size:.77rem;color:var(--text);display:flex;flex-wrap:wrap;gap:.42rem}.prompt-sign{color:var(--accent)}.panel-output{color:var(--text-muted)}.shortcut-hint{margin:0;font-family:JetBrains Mono,monospace;font-size:.75rem;color:var(--text-muted);display:inline-flex;align-items:center;flex-wrap:wrap;gap:.4rem;opacity:0;animation:fade-up .56s .5s ease forwards}.shortcut-hint kbd{font-family:JetBrains Mono,monospace;font-size:.72rem;border:1px solid var(--glass-border);border-radius:.25rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);padding:.08rem .35rem}.outline-button{border:1px solid var(--glass-border);border-radius:.35rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px) saturate(125%);backdrop-filter:blur(10px) saturate(125%);padding:.52rem .85rem;font-family:JetBrains Mono,monospace;font-size:.84rem;position:relative;overflow:hidden;transition:border-color .12s ease,color .12s ease,transform .12s ease,box-shadow .12s ease}.outline-button:after{content:"";position:absolute;top:0;left:-45%;width:35%;height:100%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 26%,transparent),transparent);transform:skew(-18deg);opacity:0}.outline-button:hover,.outline-button:focus-visible{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 10px 20px color-mix(in srgb,var(--accent) 14%,transparent)}.outline-button:hover:after,.outline-button:focus-visible:after{animation:button-scan .56s ease;opacity:1}@keyframes button-scan{0%{left:-45%}to{left:116%}}.section-heading{margin:0 0 1.35rem;font-family:JetBrains Mono,monospace;font-size:1.1rem;color:var(--text);display:inline-flex;align-items:center;gap:.65rem}.section-heading:after{content:"";width:2.8rem;height:1px;background:var(--border);transition:width .24s ease,background-color .24s ease}.section:hover .section-heading:after,.section:focus-within .section-heading:after{width:4rem;background:var(--accent)}.timeline-entry{border-left:1px solid var(--accent);padding-left:1rem;max-width:46rem;position:relative;border-radius:0 .35rem .35rem 0;transition:background-color .16s ease,border-left-color .16s ease,box-shadow .16s ease}.timeline-entry+.timeline-entry{margin-top:1.1rem}.timeline-entry:before{content:"";position:absolute;top:.18rem;left:-.32rem;width:.62rem;height:.62rem;border-radius:50%;background:var(--accent);animation:node-pulse 2s ease-in-out infinite}@keyframes node-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--accent) 36%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 0%,transparent)}}.timestamp{margin:0;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.84rem}.timeline-entry:hover{background:color-mix(in srgb,var(--glass-bg) 78%,transparent);border-left-color:color-mix(in srgb,var(--accent) 80%,#ffffff 20%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.timeline-entry h3{margin:.4rem 0 0;font-size:1.04rem}.org-name{margin:.15rem 0 .8rem;color:var(--text-muted)}.org-location{margin:-.55rem 0 .8rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.78rem;letter-spacing:.02em}.work-summary{margin:.15rem 0 0;color:var(--text);max-width:44rem;padding:.6rem .75rem;border-left:2px solid color-mix(in srgb,var(--accent) 76%,transparent);border-radius:0 .35rem .35rem 0;background:color-mix(in srgb,var(--glass-bg) 88%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--glass-border) 50%,transparent)}.plain-list{margin:0;padding-left:1.2rem}.plain-list li{margin:.35rem 0;transition:color .12s ease,transform .12s ease}.plain-list li:hover{color:var(--text);transform:translate(3px)}.skill-groups{display:grid;gap:.95rem}.skill-row{display:grid;gap:.45rem;border:1px solid transparent;border-radius:.35rem;padding:.45rem .55rem;transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.skill-row:hover{border-color:var(--glass-border);background:color-mix(in srgb,var(--glass-bg) 85%,transparent);transform:translate(2px)}.skill-label{margin:0;font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--accent-secondary)}.tag-wrap{display:flex;flex-wrap:wrap;gap:.5rem}code{font-family:JetBrains Mono,monospace;font-size:.77rem;padding:.2rem .45rem;border:1px solid var(--glass-border);border-radius:.3rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text);letter-spacing:.04em;position:relative;overflow:hidden;transition:transform .14s ease,border-color .14s ease}code:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,color-mix(in srgb,var(--accent) 28%,transparent) 44%,transparent 70%);transform:translate(-128%);transition:transform .34s ease}code:hover,code:focus-visible{border-color:var(--accent);transform:translateY(-2px)}code:hover:before,code:focus-visible:before{transform:translate(130%)}.projects-grid{display:grid;grid-template-columns:1fr;gap:.95rem}.project-card{border:1px solid var(--glass-border);background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);box-shadow:var(--glass-shadow);border-radius:.35rem;padding:1rem;display:grid;gap:.75rem;min-height:12rem;position:relative;overflow:hidden;transition:border-left-color .14s ease,transform .18s ease,border-color .18s ease}.project-card:before{content:"";position:absolute;inset:0;border-left:2px solid transparent;transition:border-color .14s ease;pointer-events:none}.project-card:after{content:"";position:absolute;top:0;left:-42%;width:32%;height:100%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 20%,transparent),transparent);transform:skew(-20deg);opacity:0}.project-card:hover,.project-card:focus-within{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));transform:translateY(-3px)}.project-card:hover:before,.project-card:focus-within:before{border-left-color:var(--accent)}.project-card:hover:after,.project-card:focus-within:after{animation:sweep .74s ease;opacity:1}@keyframes sweep{0%{left:-42%}to{left:112%}}.project-file{margin:0;font-family:JetBrains Mono,monospace;font-size:.94rem;transition:color .14s ease,letter-spacing .14s ease}.project-card:hover .project-file,.project-card:focus-within .project-file{color:var(--accent);letter-spacing:.02em}.project-summary{margin:0;color:var(--text-muted)}.project-link{justify-self:end;display:inline-flex;align-items:center;gap:.38rem;font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--text-muted);border-bottom:1px solid transparent;transition:color .12s ease,border-color .12s ease,transform .14s ease}.project-link:hover,.project-link:focus-visible{color:var(--accent);border-bottom-color:var(--accent);transform:translate(2px)}.table-wrap{overflow-x:auto;border:1px solid var(--glass-border);border-radius:.35rem;background:var(--glass-bg-strong);-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);box-shadow:var(--glass-shadow)}table{width:100%;border-collapse:collapse;min-width:40rem}th,td{text-align:left;padding:.75rem .65rem;border-bottom:1px solid var(--border);vertical-align:top}tbody tr td{transition:background-color .14s ease,color .14s ease}tbody tr:hover td{background:color-mix(in srgb,var(--glass-bg) 82%,transparent);color:var(--text)}th{font-family:JetBrains Mono,monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.highlight-row{background:color-mix(in srgb,var(--glass-bg-strong) 90%,transparent);animation:row-glow 3.8s ease-in-out infinite}@keyframes row-glow{0%,to{background:color-mix(in srgb,var(--glass-bg-strong) 90%,transparent)}50%{background:color-mix(in srgb,var(--glass-bg-strong) 74%,color-mix(in srgb,var(--accent) 28%,transparent))}}.highlight-row td:first-child{border-left:1px solid var(--accent)}.achievement-list{margin:0;padding:0 0 0 .9rem;border-left:1px solid var(--accent);max-width:56rem;list-style:none;counter-reset:achievement}.achievement-list li{padding-left:2.05rem;margin:.46rem 0;position:relative;transition:transform .12s ease}.achievement-list li:before{counter-increment:achievement;content:counter(achievement,decimal-leading-zero);position:absolute;left:0;top:0;font-family:JetBrains Mono,monospace;color:var(--text-muted);transition:color .12s ease}.achievement-list li:hover{transform:translate(4px)}.achievement-list li:hover:before{color:var(--accent)}.contact-prompt{margin:0 0 .95rem;font-family:JetBrains Mono,monospace;color:var(--text-muted)}.social-row{display:flex;flex-wrap:wrap;gap:.75rem}.social-link{width:2.4rem;height:2.4rem;border:1px solid var(--glass-border);border-radius:.4rem;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;color:var(--text-muted);transition:border-color .12s ease,color .12s ease,transform .16s ease}.social-link:hover,.social-link:focus-visible{color:var(--accent);border-color:var(--accent);transform:translateY(-3px) rotate(-7deg);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}.footer{border-top:1px solid var(--border)}.footer-inner{min-height:3.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.2rem}.footer-inner p{margin:0;font-size:.86rem;color:var(--text-muted);font-family:JetBrains Mono,monospace}.reveal{opacity:0;transform:translateY(26px)}.reveal.is-visible{animation:section-reveal .66s cubic-bezier(.21,1,.31,1) forwards;animation-delay:var(--delay, 0ms)}@keyframes section-reveal{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:48rem){.nav{gap:1.1rem}.nav-links{gap:.35rem}.section{padding:3rem 0}main{padding-top:6.8rem}.hero-title{font-size:3rem}.skill-row{grid-template-columns:8rem 1fr;align-items:start;gap:.8rem}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:30rem){main{padding-top:7rem}.topbar-meta{font-size:.68rem}}@media(pointer:coarse){.cursor-layer{display:none}body.has-custom-cursor,body.has-custom-cursor *{cursor:auto!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body:before{animation:none!important}.reveal{opacity:1!important;transform:none!important}.hero-stack{transform:none!important}[data-parallax-speed]:not(.hero-stack){transform:none!important}}
