:root{--bg:#050914;--panel:#0b1220;--panel-soft:#0f1b2d;--line:#7db5ff2e;--text:#f5f9ff;--muted:#9ab1ca;--teal:#5ee7ff;--amber:#7cb7ff;--coral:#3b82f6;--lime:#a7f3d0;--shadow:0 24px 80px #020c1b6b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body::selection{background:var(--amber);color:#03111f}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}.hero{isolation:isolate;min-height:100svh;padding:24px clamp(18px,4vw,64px) 52px;position:relative;overflow:hidden}.hero:before{z-index:-2;content:"";background:linear-gradient(#ff70310e 1px,#0000 1px) 0 0/72px 72px,linear-gradient(90deg,#ff70310e 1px,#0000 1px) 0 0/72px 72px,radial-gradient(circle at 18% 30%,#ff842b24,#0000 32%),radial-gradient(circle at 74% 30%,#3b82f61f,#0000 36%);position:absolute;inset:0}.hero:after{z-index:-1;background:linear-gradient(180deg, #05091400, var(--bg) 82%);content:"";height:34%;position:absolute;inset:auto 0 0}.code-canvas{z-index:-3;opacity:.54;width:100%;height:100%;position:absolute;inset:0}.below-stage{isolation:isolate;position:relative;overflow:hidden}.section-motion-canvas{z-index:0;pointer-events:none;opacity:.72;width:100%;min-height:100%;position:absolute;inset:0}.below-stage .section{z-index:1;position:relative}.text-fragment{will-change:transform, opacity, filter;display:inline-block}[data-text-animate=words],[data-text-animate=chars]{perspective:700px}[data-text-animate=clip]{overflow:hidden}.nav{z-index:2;justify-content:space-between;align-items:center;gap:24px;max-width:1180px;margin:0 auto;display:flex;position:relative}.brand,.nav-links{align-items:center;display:flex}.brand{letter-spacing:0;gap:10px;font-weight:750}.brand-mark,.social-links a{border:1px solid var(--line);background:#081122b8;place-items:center;width:38px;height:38px;display:grid}.brand-mark{color:var(--teal);box-shadow:inset 0 0 24px #5ee7ff24}.nav-links{color:#f5f9ffb8;gap:clamp(14px,3vw,28px);font-size:.92rem}.nav-links a{transition:color .18s,transform .18s}.nav-links a:hover{color:var(--text);transform:translateY(-1px)}.hero-grid{grid-template-columns:minmax(0,.84fr) minmax(430px,.86fr);align-items:center;gap:clamp(38px,6vw,86px);width:min(1260px,100%);min-height:calc(100svh - 128px);margin:0 auto;padding-top:clamp(54px,8vw,94px);display:grid}.hero-copy{max-width:680px}.eyebrow{color:var(--teal);text-transform:uppercase;letter-spacing:0;margin:0 0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;font-weight:700}.hero-title,.hero-role,.section-heading h2,.contact-copy h2{letter-spacing:0;margin:0}.hero-title{max-width:920px;font-size:clamp(3.9rem,7.4vw,7.2rem);line-height:.92}.hero-title span{color:#0000;background:linear-gradient(100deg,#ff8a2a 0%,#f4a7a7 34%,#9aa8ff 66%,#2f7dff 100%);-webkit-background-clip:text;background-clip:text;width:fit-content;padding-bottom:.08em;line-height:1.04;display:block}.hero-role{color:#f5f9ffd6;text-wrap:balance;max-width:740px;margin-top:22px;font-size:clamp(1.28rem,2.5vw,2.1rem);font-weight:520;line-height:1.34}.hero-role span{color:#ff7043;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.hero-text,.section-heading p,.contact-copy p{color:var(--muted);line-height:1.75}.hero-text{max-width:760px;margin:8px 0 0;font-size:clamp(1.08rem,1.8vw,1.3rem)}.workspace-terminal{background:#080e1af5;border:1px solid #5ee7ff57;border-radius:8px;justify-self:end;width:min(100%,650px);position:relative;box-shadow:0 28px 70px #00000057,0 0 0 1px #5ee7ff14,18px 0 70px #2f7dff14,-14px 0 54px #5ee7ff0b}.workspace-terminal:before{z-index:-1;filter:blur(42px);opacity:.7;content:"";background:radial-gradient(#5ee7ff57,#2f7dff1f 44%,#0000 76%);border-radius:999px;width:28%;height:84%;position:absolute;top:8%;right:-24%}.workspace-terminal:after{content:"";background:linear-gradient(#0000,#5ee7ff6b,#0000);width:1px;height:76%;position:absolute;top:12%;right:-1px;box-shadow:0 0 12px #5ee7ff75,-6px 0 18px #2f7dff1a}.workspace-terminal-top{background:linear-gradient(90deg,#5ee7ff14,#0000 55%),#182537f0;border-bottom:1px solid #5ee7ff1a;place-items:center;min-height:46px;display:grid;position:relative}.window-dots{gap:9px;display:flex;position:absolute;left:18px}.window-dots span{border-radius:999px;width:12px;height:12px}.window-dots span:first-child{background:#ff4a55}.window-dots span:nth-child(2){background:#f5b31d}.window-dots span:nth-child(3){background:#20c96b}.workspace-terminal-top p{color:#f5f9ffc7;align-items:center;gap:9px;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;font-weight:760;display:inline-flex}.workspace-terminal-top p span{background:var(--teal);border-radius:999px;width:8px;height:8px;box-shadow:0 0 16px #5ee7ffb8}.workspace-terminal-body{padding:clamp(22px,3vw,32px)}.terminal-code{gap:8px;min-height:360px;margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(.78rem,1vw,1rem);font-weight:650;line-height:1.55;list-style:none;display:grid}.terminal-code-line{grid-template-columns:28px minmax(0,1fr);gap:16px;min-height:24px;display:grid}.line-number{color:#9ab1ca5c;text-align:right;-webkit-user-select:none;user-select:none}.line-code{color:#f5f9ffdb;overflow-wrap:anywhere;white-space:pre-wrap;min-width:0}.syntax-comment{color:#f5f9ffc7}.syntax-keyword{color:#c678ff}.syntax-orange{color:#7cb7ff}.syntax-green{color:#18e884}.syntax-yellow{color:#ffd21f}.syntax-plain{color:#f5f9ffdb}.terminal-cursor{background:var(--teal);vertical-align:-.18em;width:8px;height:1.12em;margin-left:2px;animation:.82s steps(2,start) infinite terminalBlink;display:inline-block;box-shadow:0 0 14px #5ee7ffb3}.terminal-actions{flex-wrap:wrap;gap:16px;margin-top:28px;display:flex}.terminal-action{border:1px solid #5ee7ff33;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;font-weight:760;transition:border-color .18s,color .18s,transform .18s,background .18s;display:inline-flex}.terminal-action:hover{transform:translateY(-2px)}.terminal-action-primary{color:var(--teal);background:#5ee7ff1a;border-color:#5ee7ff94;box-shadow:inset 0 0 18px #5ee7ff12}.terminal-action-primary:hover{background:#5ee7ff29}.terminal-action-secondary{color:#f5f9ffd1;border-color:#7db5ff24}.terminal-action-secondary:hover{color:var(--teal);border-color:#5ee7ff57}@keyframes terminalBlink{50%{opacity:0}}.hero-actions,.contact-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-actions{margin-top:34px}.button{border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 18px;font-weight:760;transition:transform .18s,border-color .18s,background .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(135deg, var(--teal), var(--amber) 58%, #b9d8ff);color:#03111f}.button-primary:hover{background:linear-gradient(135deg,#8cf0ff,#9ac8ff 58%,#d0e6ff)}.button-secondary{border-color:var(--line);color:var(--text);background:#7db5ff14}.button-secondary:hover{background:#7db5ff21;border-color:#7db5ff57}.terminal,.experience-card,.timeline-item{border:1px solid var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#081122c2}.terminal{justify-self:end;width:min(100%,470px);overflow:hidden}.terminal-top{border-bottom:1px solid var(--line);background:#7db5ff0f;align-items:center;gap:8px;min-height:42px;padding:0 14px;display:flex}.terminal-top span{border-radius:999px;width:9px;height:9px}.terminal-top span:first-child{background:var(--coral)}.terminal-top span:nth-child(2){background:var(--amber)}.terminal-top span:nth-child(3){background:var(--lime)}.terminal-top p{color:#f5f9ff9e;margin:0 0 0 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.terminal pre{color:#dff7ff;overflow-wrap:anywhere;white-space:pre-wrap;min-height:360px;margin:0;padding:28px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(.82rem,1vw,.96rem);line-height:1.85;overflow-x:hidden}.section{width:min(1180px,100% - 36px);margin:0 auto;padding:clamp(74px,10vw,126px) 0}.section-heading{max-width:780px;margin-bottom:34px}.section-heading h2,.contact-copy h2{font-size:clamp(2.1rem,4vw,4.35rem)}.section-heading p,.contact-copy p{max-width:680px;margin:20px 0 0;font-size:1.02rem}.experience-grid,.timeline{gap:16px;display:grid}.experience-card,.timeline-item{padding:24px}.about-terminal{border:1px solid var(--line);max-width:720px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#081122c2;border-radius:14px;padding:30px clamp(22px,3vw,40px);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.about-line{gap:8px;margin:0;font-size:.96rem;font-weight:600;display:flex}.about-line+.about-text{margin-top:14px}.about-text+.about-line{margin-top:30px}.about-prompt{color:var(--teal)}.about-command{color:#c678ff}.about-file{color:var(--text)}.about-text{color:#f5f9ffd1;margin:0;padding-left:26px;font-size:.95rem;line-height:1.72}.about-text-muted{color:var(--muted)}.about-text-muted strong{color:var(--text);font-weight:700}.experience-card h3,.timeline-item h3{margin:0;font-size:1.18rem;line-height:1.35}.timeline-item p{color:var(--muted);margin:14px 0 0;line-height:1.68}.tech-section{width:min(1320px,100% - 36px)}.tech-heading{text-align:center;justify-items:center;margin:0 auto clamp(42px,6vw,76px);display:grid}.tech-heading p{max-width:720px;color:var(--muted);margin:18px 0 0;line-height:1.75}.tech-kicker{color:var(--teal);text-transform:uppercase;letter-spacing:.28em;align-items:center;gap:14px;margin:0 0 18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;font-weight:760;display:inline-flex;position:relative}.tech-kicker:before,.tech-kicker:after{content:"";background:#5ee7ff70;width:34px;height:1px;display:inline-block}.tech-title{letter-spacing:0;margin:0;font-size:clamp(2.5rem,5.2vw,5.4rem);line-height:.98}.tech-title span{color:var(--teal);text-shadow:0 0 30px #5ee7ff42}.skills-universe{justify-items:center;gap:24px;display:grid}.skills-universe-shell{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;outline:none;width:min(760px,100%);height:clamp(520px,62vw,700px);position:relative}.skills-universe-shell:active{cursor:grabbing}.skills-universe-shell:focus-visible{outline-offset:10px;outline:1px solid #5ee7ff7a}.skill-sphere{aspect-ratio:1;width:min(68%,540px);transform:translate(-50%, -50%) rotate(var(--sphere-rotate-z,0deg));background:radial-gradient(circle at 38% 28%,#b8e8ff29,#0000 18%),radial-gradient(circle at 54% 48%,#5ee7ff33,#0000 43%),radial-gradient(circle,#2f7dff24,#0000 66%),linear-gradient(145deg,#5ee7ff14,#2f7dff1f);border-radius:999px;transition:transform 90ms linear;position:absolute;top:50%;left:50%;box-shadow:inset 18px -18px 58px #00000047,inset 0 0 0 1px #5ee7ff66,inset 0 0 56px #5ee7ff2e,0 0 0 18px #2f7dff09,0 0 76px #5ee7ff1f,0 30px 100px #00000057}.skill-sphere:before,.skill-sphere:after{border-radius:inherit;pointer-events:none;content:"";position:absolute;inset:0}.skill-sphere:before{mix-blend-mode:screen;opacity:.9;background:radial-gradient(circle at 28% 25%,#b8e8ff2e,#0000 18%),radial-gradient(circle at 74% 74%,#2f7dff29,#0000 21%),linear-gradient(112deg,#5ee7ff2e,#0000 36%,#2f7dff29 72%,#0000);border:1px solid #5ee7ff6b}.skill-sphere:after{opacity:.74;background:radial-gradient(circle at 50% 18%,#5ee7ff29,#0000 12%),linear-gradient(90deg,#0000 48%,#5ee7ff21 49%,#0000 51%),linear-gradient(#0000 49%,#2f7dff21 51%,#0000 52%);border:1px solid #7cb7ff2e;inset:2%}.sphere-wire{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sphere-wire-fill{fill:url(#sphereGlow)}.sphere-wire-lines ellipse,.sphere-wire-lines line{fill:none;stroke:#7db5ff38;stroke-width:1px}.sphere-wire-rim{fill:none;stroke:#5ee7ff66;stroke-width:1.2px}.skill-node{top:var(--skill-top);left:var(--skill-left);min-width:92px;opacity:var(--skill-opacity);transform:translate(-50%, -50%) scale(var(--skill-scale));pointer-events:none;justify-items:center;transition:opacity .18s,filter .18s;display:grid;position:absolute}.skill-node-icon{width:clamp(44px,6vw,72px);height:clamp(44px,6vw,72px);color:var(--skill-color);text-shadow:0 0 22px color-mix(in srgb, var(--skill-color) 44%, transparent), 0 12px 34px #0000006b;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.42rem,3.2vw,3.2rem);font-weight:930;line-height:.95;display:grid}.devicon-mark{width:100%;height:100%;filter:var(--devicon-filter) drop-shadow(0 0 18px color-mix(in srgb, var(--skill-color) 42%, transparent)) drop-shadow(0 12px 28px #0000006b);background-position:50%;background-repeat:no-repeat;background-size:contain;display:block}.skill-node-back{filter:blur(1.4px)saturate(.72)}.skill-node-label{color:#f5f9ffa8;text-align:center;text-shadow:0 8px 20px #00000080;white-space:nowrap;opacity:var(--skill-label-opacity,1);margin-top:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem;font-weight:760;transition:opacity .2s}.universe-hint{color:#f5f9ffdb;background:#ffffff17;border:1px solid #ffffff1f;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:0 18px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;font-weight:760;display:inline-flex;box-shadow:inset 0 1px #ffffff14}.experience-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.experience-card{background:var(--panel);gap:34px;min-height:320px;display:grid;position:relative}.experience-card:before{background:linear-gradient(180deg, var(--teal), #7db5ff14);content:"";width:1px;position:absolute;top:24px;bottom:24px;left:24px}.experience-card:after{content:"";background:#071020;border:1px solid #5ee7ffc2;border-radius:999px;width:13px;height:13px;position:absolute;top:24px;left:18px;box-shadow:0 0 24px #5ee7ff6b}.experience-meta,.experience-body{padding-left:34px}.experience-meta{gap:10px;display:grid}.experience-card p,.experience-year{color:var(--amber);margin:0 0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem}.experience-year{width:max-content;color:var(--teal);background:#7db5ff14;border:1px solid #7db5ff38;margin:0;padding:8px 10px;display:inline-flex}.experience-card span{color:var(--muted);margin-top:18px;line-height:1.55;display:inline-block}.experience-meta .experience-company{color:#f5f9ffe6;align-items:center;gap:8px;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;font-weight:600;line-height:1.4;display:inline-flex}.experience-meta .experience-company:before{background:var(--teal);content:"";border-radius:2px;width:6px;height:6px;box-shadow:0 0 10px #5ee7ff99}.timeline{counter-reset:timeline;grid-template-columns:repeat(3,minmax(0,1fr))}.timeline-item span{width:44px;height:44px;color:var(--teal);border:1px solid #7db5ff38;place-items:center;margin-bottom:72px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:inline-grid}.contact-section{opacity:1;visibility:visible;border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(24px,5vw,76px);min-height:54svh;display:grid}.contact-copy,.contact-actions{opacity:1;visibility:visible}.contact-copy h2{max-width:780px;font-size:clamp(2.4rem,4.6vw,4.8rem);line-height:1.04}.contact-copy p{max-width:760px}.social-links{gap:10px;display:flex}.social-links a{transition:transform .18s,color .18s,border-color .18s}.social-links a:hover{color:var(--teal);border-color:#7db5ff5c;transform:translateY(-2px)}@media (max-width:940px){.hero-grid,.contact-section{grid-template-columns:1fr}.hero-grid{min-height:auto;padding-top:88px}.workspace-terminal{justify-self:start}.terminal-code{min-height:330px}.skills-universe-shell{height:clamp(460px,82vw,620px)}.skill-sphere{width:min(72%,440px)}.experience-grid,.timeline{grid-template-columns:1fr}.terminal pre{min-height:260px}}@media (max-width:680px){.hero{padding-inline:18px}.nav{align-items:flex-start}.nav-links{display:none}.hero-title{font-size:clamp(3.4rem,16vw,5.3rem)}.hero-role{font-size:clamp(1.1rem,6vw,1.55rem)}.section-heading h2,.contact-copy h2{font-size:clamp(2rem,10vw,3.15rem);line-height:1.08}.hero-actions,.contact-actions{flex-direction:column;align-items:stretch}.button{width:100%}.terminal pre{padding:20px;font-size:.78rem}.workspace-terminal-body{padding:20px 16px 18px}.workspace-terminal-top{min-height:44px}.workspace-terminal-top p{font-size:.74rem}.window-dots{gap:7px;left:14px}.window-dots span{width:10px;height:10px}.terminal-code{gap:7px;min-height:300px;font-size:.72rem}.terminal-code-line{grid-template-columns:22px minmax(0,1fr);gap:11px}.terminal-actions{flex-direction:column;gap:10px}.terminal-action{width:100%}.skills-universe-shell{height:430px}.skill-sphere{width:min(76%,330px)}.skill-node{min-width:74px}.skill-node-icon{width:clamp(34px,10vw,52px);height:clamp(34px,10vw,52px);font-size:clamp(1.08rem,8vw,2.1rem)}.skill-node-label{text-overflow:ellipsis;max-width:86px;font-size:.62rem;overflow:hidden}.universe-hint{width:100%;min-height:42px;font-size:.72rem}.section{width:min(100% - 28px,1180px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.legal{max-width:820px;margin:0 auto;padding:72px clamp(20px,4vw,40px) 120px}.legal-back{color:var(--teal);margin-bottom:28px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;display:inline-block}.legal h1{margin:0 0 6px;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.legal .legal-updated{color:var(--muted);margin:0 0 36px;font-size:.88rem}.legal .legal-lead{color:#f5f9ffe6;font-size:1.05rem;line-height:1.75}.legal h2{margin:40px 0 12px;font-size:1.32rem;line-height:1.3}.legal h3{color:#f5f9ffeb;margin:22px 0 8px;font-size:1.04rem}.legal p{color:var(--muted);margin:0 0 14px;line-height:1.78}.legal ul{color:var(--muted);margin:0 0 16px;padding-left:22px;line-height:1.72}.legal li{margin-bottom:6px}.legal a{color:var(--teal)}
