@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-v24-latin-regular.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrains-mono-v24-latin-500.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-v24-latin-600.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-v24-latin-700.woff2) format("woff2")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:700;font-display:swap;src:url(/fonts/cormorant-garamond-v21-latin-700italic.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-v20-latin-variable.woff2) format("woff2")}:root{--bg-top: #061e38;--bg-mid: #0e3a5c;--bg-glow: #1a5a8a;--bg-end: #000010;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--glass-bg: rgba(210, 228, 255, .1);--glass-border: rgba(220, 238, 255, .22);--glass-sep: rgba(220, 238, 255, .12);--glass-shadow: rgba(0, 10, 40, .45);--text-primary: rgba(255, 255, 255, .96);--text-body: rgba(255, 255, 255, .84);--text-muted: rgba(255, 255, 255, .66);--text-accent: #7dd3fc;--highlight: #ffb86c;--tag-bg: rgba(80, 160, 255, .1);--tag-border: rgba(125, 211, 252, .38);--tag-text: #bae6fd;--hud-color: rgba(200, 228, 250, .86);--hud-border: rgba(130, 180, 220, .3);--nav-logo: #fff;--nav-link: rgba(255, 255, 255, .76);--nav-link-h: #fff;--marquee-fill: rgba(160, 200, 255, .18)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:JetBrains Mono,monospace;overflow:hidden}body{contain:layout style paint}.vp-shell{position:fixed;inset:0;overflow:hidden}.bg-layer{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.bg-gradient{position:absolute;inset:0;background:radial-gradient(ellipse 120% 80% at 50% 120%,var(--bg-glow) 0%,var(--bg-mid) 25%,var(--bg-top) 55%,var(--bg-end) 85%);transition:background .5s ease}.bg-tint{position:absolute;inset:0;opacity:0;pointer-events:none;will-change:opacity;background:radial-gradient(circle 60vmax at var(--hx) var(--hy),color-mix(in srgb,var(--haze) 30%,transparent),transparent 70%),radial-gradient(ellipse 130% 90% at 50% 125%,var(--glow) 0%,var(--mid) 30%,var(--bg-top) 62%,var(--bg-end) 92%)}.bg-tint--proj{--glow: #4a3fa8;--mid: #262066;--haze: #2a6df0;--hx: 88%;--hy: 4%;opacity:var(--t-proj, 0)}.bg-tint--ach{--glow: #0e7c86;--mid: #0a4a55;--haze: #22b57a;--hx: 8%;--hy: 6%;opacity:var(--t-ach, 0)}.bg-tint--con{--glow: #a23d68;--mid: #58214a;--haze: #e8893a;--hx: 92%;--hy: 2%;opacity:var(--t-con, 0)}.is-mobile .bg-tint{transition:opacity .9s ease}.vp-shell:has(.m-scroll[data-tint=proj]) .bg-tint--proj,.vp-shell:has(.m-scroll[data-tint=ach]) .bg-tint--ach,.vp-shell:has(.m-scroll[data-tint=con]) .bg-tint--con{opacity:1}.bg-arc{position:absolute;bottom:-10%;left:50%;transform:translate(-50%);width:140%;height:140%;border-radius:50%;border:1px solid var(--hud-border);transition:border-color .4s ease}.marquee-layer{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden;opacity:.4;transition:opacity .6s ease;mask-image:linear-gradient(to right,transparent 1%,black 12%,black 88%,transparent 99%);-webkit-mask-image:linear-gradient(to right,transparent 1%,black 12%,black 88%,transparent 99%)}.marquee-wrap{position:absolute;top:42%;left:0;right:0;overflow:hidden;pointer-events:none}.marquee-track{display:flex;gap:100px;width:max-content;animation:marquee 24s linear infinite}.marquee-word{font-family:JetBrains Mono,monospace;font-weight:700;font-size:clamp(3.4rem,7.4vw,7rem);letter-spacing:0;text-transform:uppercase;color:var(--marquee-fill);white-space:nowrap;-webkit-user-select:none;user-select:none;transition:color .4s ease}@keyframes marquee{to{transform:translate(-50%)}}.hud{position:absolute;font-family:JetBrains Mono,monospace;color:var(--hud-color);font-size:.58rem;letter-spacing:.12em;transition:color .4s ease}.hud-tl,.hud-tr,.hud-bl,.hud-br{width:26px;height:26px}.hud-tl{top:20px;left:20px;border-top:1px solid var(--hud-border);border-left:1px solid var(--hud-border)}.hud-tr{top:20px;right:20px;border-top:1px solid var(--hud-border);border-right:1px solid var(--hud-border)}.hud-bl{bottom:20px;left:20px;border-bottom:1px solid var(--hud-border);border-left:1px solid var(--hud-border)}.hud-br{bottom:20px;right:20px;border-bottom:1px solid var(--hud-border);border-right:1px solid var(--hud-border)}.hud-date{left:22px;top:50%;transform:translateY(-50%) rotate(-90deg);white-space:nowrap}.hud-date-text{font-size:.72rem;letter-spacing:.16em;color:var(--hud-color);animation:flicker 8s ease-in-out infinite}@keyframes flicker{0%,94%,to{opacity:1}95%{opacity:.2}97%{opacity:.8}99%{opacity:.1}}.hud-sys{left:22px;bottom:56px;display:flex;align-items:center;gap:6px}.hud-lbl{font-size:.7rem;letter-spacing:.18em;color:var(--hud-color)}.hud-hex{color:var(--text-accent)}.hud-cursor{font-size:.6rem;color:var(--text-accent);animation:cur 1s step-start infinite}@keyframes cur{50%{opacity:0}}.hud-live{top:80px;right:44px;display:flex;align-items:center;gap:6px;font-size:.72rem;letter-spacing:.2em;color:var(--hud-color)}.hud-dot{width:5px;height:5px;border-radius:50%;background:#50c878a6;animation:pulse 2s ease-in-out infinite;display:inline-block}@keyframes pulse{50%{opacity:.3;transform:scale(.7)}}@media(max-width:1365px){.hud-sys{display:none}}@media(max-width:1199px){.hud-date{display:none}}.nav{position:fixed;top:18px;left:20%;right:20%;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;min-height:48px;border-radius:100px;background:var(--glass-bg);backdrop-filter:blur(28px) saturate(200%) brightness(1.08);-webkit-backdrop-filter:blur(28px) saturate(200%) brightness(1.08);border:1px solid var(--glass-border);box-shadow:0 4px 32px var(--glass-shadow),inset 0 1px #ffffff24;transition:background .4s ease,border-color .4s ease,box-shadow .4s ease;contain:layout style paint}.nav-logo{font-family:JetBrains Mono,monospace;font-weight:700;font-size:1.25rem;letter-spacing:.12em;color:var(--nav-logo);transition:color .4s ease}.nav-links{display:flex;gap:36px;list-style:none;font-family:JetBrains Mono,monospace;font-size:.9rem;font-weight:500;letter-spacing:.16em;color:var(--nav-link);cursor:pointer;transition:color .4s ease}.nav-logo,.nav-links button{background:none;border:0;padding:0;cursor:pointer}.nav-links button{font:inherit;letter-spacing:inherit;color:inherit;white-space:nowrap}.nav-links button:hover,.nav-links button.is-active{color:var(--nav-link-h);transition:color .15s}.nav-links button.is-active{text-decoration:underline;text-decoration-color:var(--text-accent);text-decoration-thickness:2px;text-underline-offset:8px}:focus-visible{outline:2px solid var(--text-accent);outline-offset:3px}@keyframes enterNav{0%{opacity:0;transform:translateY(-60px) scaleY(.8);filter:blur(8px)}55%{opacity:1;transform:translateY(3px) scaleY(1.02);filter:blur(0)}78%{transform:translateY(-1px) scaleY(1)}to{opacity:1;transform:translateY(0) scaleY(1)}}.boot-ready .enter-nav{animation:enterNav .55s cubic-bezier(.34,1.56,.64,1) .04s both}@keyframes enterHead{0%{opacity:0;transform:translate(-50%) translateY(-120px) scale(.9);filter:blur(20px)}30%{opacity:0}55%{opacity:.8;filter:blur(1px)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1);filter:blur(0)}}.boot-ready .enter-head{animation:enterHead .9s cubic-bezier(.16,1,.3,1) .12s both}@keyframes enterGlass{0%{opacity:0;transform:translate(-50%,calc(-50% + 140px)) scale(.9);filter:blur(16px)}20%{opacity:0}50%{opacity:.55;filter:blur(4px)}to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}}.boot-ready .enter-glass{animation:enterGlass 1.1s cubic-bezier(.16,1,.3,1) .22s both}@keyframes enterRobot{0%{opacity:0;transform:translate(-50%) translateY(260px);filter:blur(14px)}18%{opacity:0}45%{opacity:.35;filter:blur(6px)}to{opacity:1;transform:translate(-50%) translateY(0);filter:blur(0)}}.boot-ready .enter-robot{animation:enterRobot 1.3s cubic-bezier(.16,1,.3,1) 0s both}.parallax-layer{will-change:transform,opacity}.hero-head{position:fixed;top:98px;left:50%;z-index:30;width:min(1060px,92vw);text-align:center;white-space:nowrap;pointer-events:none}.hero-eyebrow{font-family:JetBrains Mono,monospace;font-size:.66rem;letter-spacing:.24em;color:var(--text-accent);margin-bottom:7px;transition:color .4s ease}.hero-name{font-family:Cormorant Garamond,serif;font-weight:700;font-style:italic;font-size:clamp(2.2rem,min(4.6vw,7.2vh),5.4rem);letter-spacing:.03em;color:var(--text-primary);line-height:1;transition:color .4s ease}.hero-role{margin-top:10px;font-family:JetBrains Mono,monospace;font-weight:600;font-size:clamp(.8rem,1.2vw,1.05rem);letter-spacing:.32em;color:var(--text-accent);perspective:500px}.hero-name .word{display:inline-block;overflow:hidden;vertical-align:bottom;padding:0 .06em .12em;margin:0 -.06em -.12em}.hero-name .ch{display:inline-block}.boot-ready .hero-name .ch{transform:translateY(115%);animation:chUp .95s cubic-bezier(.16,1,.3,1) calc(.3s + var(--i, 0) * 38ms) forwards}@keyframes chUp{to{transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}}.hero-head .hero-eyebrow,.hero-head .hero-role,.hero-head .proof-strip{animation:fadeUp .9s cubic-bezier(.16,1,.3,1) both}.hero-head .hero-eyebrow{animation-delay:.1s}.hero-head .hero-role{animation-delay:.9s}.hero-head .proof-strip{animation-delay:1.05s}.proof-strip{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;white-space:normal}.proof-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 13px;border-radius:999px;border:1px solid var(--tag-border);background:#061e3899;font-family:JetBrains Mono,monospace;font-size:.7rem;letter-spacing:.05em;color:#d5eeff}.proof-chip:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--dot);box-shadow:0 0 8px var(--dot)}.proof-chip--hi{border-color:var(--highlight);color:var(--highlight)}.hero-role-word{display:inline-block;animation:role-flip-in .45s cubic-bezier(.22,1,.36,1) both}@keyframes role-flip-in{0%{opacity:0;transform:translateY(8px) rotateX(75deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}.glass{position:fixed;top:64%;left:50%;transform:translate(-50%,-50%);z-index:10;width:min(1080px,94vw);min-height:370px;border-radius:28px;background:var(--glass-bg);backdrop-filter:blur(32px) saturate(200%) brightness(1.1);-webkit-backdrop-filter:blur(32px) saturate(200%) brightness(1.1);border:1px solid var(--glass-border);box-shadow:0 8px 40px var(--glass-shadow),inset 0 1px #ffffff29;overflow:hidden;isolation:isolate;transition:background .4s ease,border-color .4s ease,box-shadow .4s ease;contain:layout style paint}.glass[data-stage=true]:after{content:"";position:absolute;inset:0;z-index:0;background:repeating-linear-gradient(to bottom,transparent 0px,transparent 3px,rgba(0,0,0,.035) 3px,rgba(0,0,0,.035) 4px);pointer-events:none}.stage-slide{position:absolute;inset:0;z-index:1;display:flex;align-items:center;padding:36px 5% 0 4%;gap:5%;overflow:hidden}.stage-terminal-wrap{flex:0 0 52%;max-height:calc(100% - 48px);overflow-y:auto;overflow-x:hidden;will-change:transform,filter;transform-origin:left center;scrollbar-width:none}.stage-terminal-wrap::-webkit-scrollbar{display:none}.stage-name-wrap{flex:1;display:flex;flex-direction:column;gap:14px;will-change:transform,filter;overflow:hidden}.stage-proj-id{font-family:JetBrains Mono,monospace;font-size:.75rem;letter-spacing:.3em;color:var(--text-accent);transition:color .4s ease}.stage-proj-name{font-family:Cormorant Garamond,serif;font-weight:700;font-style:italic;font-size:clamp(2.6rem,4.2vw,5rem);text-transform:uppercase;line-height:1.08;color:#fffffff5;text-shadow:0 0 60px rgba(80,160,255,.2)}.stage-proj-desc{font-family:var(--font-sans);font-size:.94rem;line-height:1.7;color:#e1ecffe0}.proj-stats{display:flex;flex-wrap:wrap;gap:8px 28px}.proj-stat{display:flex;flex-direction:column;gap:2px}.proj-stat-num{font-family:JetBrains Mono,monospace;font-weight:700;font-size:clamp(1.7rem,2.6vw,2.6rem);line-height:1;color:var(--text-accent)}.proj-stat-label{font-family:JetBrains Mono,monospace;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}.stage-proj-link,.home-resume-link{display:inline-flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:.85rem;font-weight:800;letter-spacing:.15em;color:#061e38;background:var(--text-accent);text-decoration:none;padding:12px 24px;border-radius:6px;transition:background-color .3s ease,color .3s ease,box-shadow .3s ease,transform .3s ease;pointer-events:auto!important;position:relative;z-index:99999!important;box-shadow:0 0 20px #50a0ff66}.stage-proj-link{margin-top:14px}.home-resume-link{align-self:flex-start;margin-top:auto}.stage-proj-link:hover,.home-resume-link:hover{color:#061e38;background:#fff;box-shadow:0 0 35px #ffffffb3;transform:translateY(-2px)}.stage-proj-tags{display:flex;flex-wrap:wrap;gap:8px}.glass-inner-content{position:relative;z-index:2}.glass-body{display:grid;grid-template-columns:1fr 260px 1fr;padding:22px 32px 18px}.glass-col{display:flex;flex-direction:column;gap:11px}.glass-col--left{padding-right:22px;border-right:1px solid var(--glass-sep)}.glass-col--right{padding-left:22px;padding-right:12px;border-left:1px solid var(--glass-sep)}.g-label{font-family:JetBrains Mono,monospace;font-size:.64rem;letter-spacing:.22em;color:var(--text-accent);transition:color .4s ease}.g-bio{font-family:var(--font-sans);font-size:.9rem;line-height:1.65;color:var(--text-body)}.g-tags{display:flex;flex-wrap:wrap;gap:7px}.g-tag{font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.06em;padding:5px 12px;border:1px solid var(--tag-border);border-radius:4px;color:var(--tag-text);background:var(--tag-bg);transition:color .4s ease,border-color .4s ease,background .4s ease}.g-skill-groups{display:flex;flex-direction:column;gap:11px;flex:1}.g-skill-row{display:flex;flex-direction:column;gap:3px}.g-skill-cat{font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:700;letter-spacing:.22em;color:var(--text-accent);text-transform:uppercase;transition:color .4s ease}.g-skill-items{font-family:var(--font-sans);font-size:.88rem;color:var(--text-body);line-height:1.5}.vp-shell.cursor-on,.vp-shell.cursor-on *{cursor:none!important}.cursor-ring{position:fixed;left:0;top:0;z-index:100000;width:26px;height:26px;border-radius:13px;border:1px solid rgba(255,255,255,.38);background:linear-gradient(145deg,#ffffff1c,#ffffff05);-webkit-backdrop-filter:brightness(1.08) saturate(1.4);backdrop-filter:brightness(1.08) saturate(1.4);box-shadow:inset 0 1px #ffffff8c,inset 0 -1px 1px #ffffff1f,0 8px 24px #000a2859;pointer-events:none;opacity:0;will-change:transform;transition:opacity .3s ease}.vp-shell.cursor-on .cursor-ring{opacity:1}.cursor-dot{position:fixed;left:0;top:0;z-index:100001;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #000a2866;pointer-events:none;opacity:0;transition:opacity .2s ease}.vp-shell.cursor-on .cursor-dot{opacity:1}.vp-shell.cursor-hot .cursor-dot{opacity:0}.tech{--m: max(0px, calc((100vw - min(1080px, 94vw))/2) );position:fixed;inset:0;z-index:8;pointer-events:none;will-change:transform,opacity}.tech-chip{position:absolute;top:var(--y);display:inline-flex;align-items:center;gap:9px;opacity:calc(.6 + .4 * var(--z));translate:calc(var(--px, 0) * var(--z) * 1px) calc(var(--py, 0) * var(--z) * 1px);scale:var(--sc);animation:techFloat var(--dur) ease-in-out var(--delay) infinite alternate}.tech-chip{--w: 58px}.tech-chip.l{left:clamp(84px,min(calc(var(--m) * var(--f) - 20px),calc(var(--m) - var(--w) - 14px)),100vw)}.tech-chip.r{right:clamp(10px,min(calc(var(--m) * var(--f) - 20px),calc(var(--m) - var(--w) - 14px)),100vw)}.tech-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:color-mix(in srgb,var(--c) 16%,rgba(8,22,44,.92));border:1px solid color-mix(in srgb,var(--c) 48%,rgba(255,255,255,.1));box-shadow:0 0 20px color-mix(in srgb,var(--c) 26%,transparent),0 6px 18px #000a2866}.tech-name{display:none;font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.04em;color:#e6f0ff}.tech-chip.wide{display:none}@keyframes techFloat{0%{transform:translateY(-7px) rotate(-1.4deg)}to{transform:translateY(7px) rotate(1.4deg)}}@media(max-width:1319px){.tech{display:none}}@media(min-width:1600px){.tech-chip{--w: 150px;padding:4px 14px 4px 4px;border-radius:999px;background:#08162cb8;border:1px solid rgba(255,255,255,.14);box-shadow:0 6px 20px #000a2859}.tech-ic{width:34px;height:34px;border:0;box-shadow:none}.tech-name{display:inline}.tech-chip.wide{display:inline-flex;padding:9px 16px}}.low-end .tech-chip{animation:none}.robot{position:fixed;bottom:0;left:50%;z-index:20;height:48vh;max-height:360px;width:auto;max-width:20vw;min-height:280px;aspect-ratio:1200 / 1080;object-fit:contain;object-position:bottom center;pointer-events:none;content-visibility:auto}.term-card{width:100%;border-radius:12px;overflow:hidden;background:#1e1e1e;border:1px solid rgba(255,255,255,.1);box-shadow:0 0 0 1px #000000a6,0 28px 70px #0009,inset 0 1px #ffffff0f}.term-bar{display:flex;align-items:center;gap:8px;padding:13px 18px;background:linear-gradient(180deg,#424242,#3a3a3a);border-bottom:1px solid rgba(0,0,0,.5);position:relative}.term-dot{width:13px;height:13px;border-radius:50%;flex-shrink:0}.term-dot--r{background:radial-gradient(circle at 40% 35%,#ff8080,#ff5f57);box-shadow:0 0 0 .5px #00000059}.term-dot--y{background:radial-gradient(circle at 40% 35%,#ffd070,#febc2e);box-shadow:0 0 0 .5px #00000059}.term-dot--g{background:radial-gradient(circle at 40% 35%,#60e060,#28c840);box-shadow:0 0 0 .5px #00000059}.term-title{flex:1;min-width:0;text-align:center;font-family:JetBrains Mono,monospace;font-size:.8rem;letter-spacing:.04em;color:#ffffffad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.term-badge{flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:.7rem;letter-spacing:.14em;color:#28c840}.term-meta{display:flex;flex-direction:column;gap:3px;padding:10px 22px 9px;border-bottom:1px solid rgba(255,255,255,.07);background:#252525}.term-meta-type{font-family:JetBrains Mono,monospace;font-size:.7rem;letter-spacing:.14em;color:#8be9fd}.term-body{padding:18px 22px 16px;display:flex;flex-direction:column;gap:4px;background:#1e1e1e}@keyframes termLineIn{0%{opacity:0;transform:translateY(7px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}.term-line{font-family:JetBrains Mono,monospace;font-size:.94rem;line-height:1.75;word-break:break-word;animation:termLineIn .35s cubic-bezier(.16,1,.3,1) calc(.12s + var(--i, 0) * 45ms) both}.stage-slide .term-line{animation:none}.term-cmd,.term-ok{color:#50fa7b}.term-warn{color:#f1fa8c}.term-info{color:#8be9fd}.term-out{color:#9aa8d6;padding-left:16px}.stage-projects-heading{position:absolute;top:18px;left:50%;transform:translate(-50%);z-index:3;display:flex;align-items:center;gap:2px;pointer-events:none;animation:nameSlideUp .4s cubic-bezier(.16,1,.3,1) both}.stage-ph-slash{font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:600;letter-spacing:.08em;color:var(--text-accent)}.stage-ph-word{font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.32em;color:var(--text-muted);text-transform:uppercase}@keyframes nameSlideUp{0%{opacity:0;transform:translateY(14px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}.ach-glass-header{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:2px;animation:nameSlideUp .7s cubic-bezier(.16,1,.3,1) .1s both}.ach-slash{font-family:JetBrains Mono,monospace;font-size:1rem;font-weight:600;letter-spacing:.08em;color:#7dd3fcd9}.ach-word{font-family:JetBrains Mono,monospace;font-size:clamp(1rem,2.2vw,1.75rem);font-weight:700;letter-spacing:.3em;color:#ffffffeb;text-shadow:0 0 28px rgba(125,211,252,.3);animation:achWordGlitch 5s infinite 1.2s}.ach-caret{font-family:JetBrains Mono,monospace;font-size:1.3rem;color:#7dd3fcbf;animation:cur 1s step-start infinite;margin-left:4px}@keyframes achWordGlitch{0%,88%,to{transform:none;clip-path:none;text-shadow:0 0 28px rgba(125,211,252,.3)}89%{transform:translate(-3px);clip-path:inset(25% 0 55% 0);text-shadow:-2px 0 #ff0080,2px 0 #00ffff}90%{transform:translate(3px);clip-path:inset(55% 0 10% 0);text-shadow:2px 0 #ff0080,-2px 0 #00ffff}91%{transform:none;clip-path:none;text-shadow:0 0 28px rgba(125,211,252,.3)}92%{transform:translate(-2px);clip-path:inset(30% 0 40% 0)}93%{transform:none;clip-path:none}}.ach-exhibit{position:relative;border-radius:14px;background:#d2e4ff17;border:1px solid rgba(220,238,255,.2);box-shadow:0 3px 20px #000a2873,inset 0 1px #ffffff24}.ach-exhibit{display:flex;flex-direction:column;padding:24px 26px 26px;border-left:3px solid var(--ach-col)}.ach-exhibit .ach-title{font-family:Cormorant Garamond,serif;font-style:italic;font-size:clamp(2.2rem,3.6vw,3.8rem);letter-spacing:0;line-height:1.04;margin:6px 0 0}.ach-exhibit .ach-more{display:flex;flex-direction:column;justify-content:space-between;flex:1;margin-top:18px}.ach-exhibit .ach-stats{gap:9px}.ach-exhibit .ach-stat{font-size:.95rem}.ach-label{font-family:JetBrains Mono,monospace;font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ach-col);margin-bottom:4px}.ach-title{font-family:JetBrains Mono,monospace;font-size:clamp(.88rem,1.3vw,1.05rem);font-weight:700;letter-spacing:.04em;color:#fffffff5;line-height:1.3;margin-bottom:7px;position:relative}.ach-stats{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.ach-stat{font-family:var(--font-sans);font-size:.8rem;line-height:1.4;color:#e1ecffe0;display:flex;align-items:flex-start;gap:6px}.ach-bullet{flex-shrink:0;font-size:.65rem;line-height:1.9}.ach-meta{font-family:JetBrains Mono,monospace;font-size:.62rem;letter-spacing:.1em;line-height:1.5;color:var(--text-muted);text-transform:uppercase;margin-top:3px;border-top:1px solid rgba(255,255,255,.12);padding-top:5px}.ach-link{display:inline-block;margin-top:12px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700;letter-spacing:.15em;text-decoration:none;pointer-events:auto!important;position:relative;z-index:99999!important}.ach-link:hover{text-decoration:underline}.ach-text{font-family:var(--font-sans);font-size:.88rem;line-height:1.55;color:#e1ecffeb;margin-bottom:8px}.ach-shot{display:block;width:100%;max-height:22vh;margin-top:12px;border-radius:8px;border:1px solid rgba(220,238,255,.2);object-fit:cover;object-position:top}.cert{flex:0 0 var(--cw);width:var(--cw);display:flex;flex-direction:column;gap:8px}.cert-img{display:block;aspect-ratio:1.3 / 1;overflow:hidden;border-radius:10px;border:1px solid rgba(220,238,255,.22);background:#e9eaea;box-shadow:0 8px 30px #000a2873;pointer-events:auto}.cert-img img{display:block;width:100%;height:100%;object-fit:contain}.cert-tile{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--hue, #7dd3fc) 30%,transparent),#d2e4ff0a 70%)}.cert-tile:before{content:"";position:absolute;inset:10px;border-radius:6px;border:1px solid color-mix(in srgb,var(--hue, #7dd3fc) 55%,transparent)}.cert-issuer{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:700;font-size:clamp(1.6rem,2.6vw,2.4rem);color:#fff}.cert-seal{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid color-mix(in srgb,var(--hue, #7dd3fc) 80%,transparent);font-size:.9rem;color:#fff}.cert-title{font-family:JetBrains Mono,monospace;font-size:.88rem;font-weight:700;line-height:1.3;color:#fffffff5}.cert-verify{align-self:flex-start;margin-top:2px;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700;letter-spacing:.15em;text-decoration:none;color:color-mix(in srgb,var(--hue) 55%,#fff);pointer-events:auto!important;position:relative;z-index:99999!important}.cert-verify:hover{text-decoration:underline}.cert-meta{font-family:var(--font-sans);font-size:.8rem;line-height:1.45;color:#e1ecffe0}.reel{position:fixed;bottom:0;z-index:9;overflow:hidden;overflow:clip;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 24px,#000 calc(100% - 44px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 24px,#000 calc(100% - 44px),transparent 100%)}.reel-inner{padding:4px 0 40px;transform:translate3d(0,calc(var(--p, 0) * var(--dist, 0) * -1px),0);will-change:transform}.reel-block+.reel-block{margin-top:64px}.reel-label{margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:700;letter-spacing:.24em;color:color-mix(in srgb,var(--hue) 72%,#fff)}.reel-head{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-family:Cormorant Garamond,serif;font-style:italic;font-weight:700;font-size:clamp(1.7rem,2.6vw,2.6rem);line-height:1.1;color:#fff}.reel-head:before{content:"";flex:none;width:30px;height:3px;border-radius:2px;background:var(--hue);box-shadow:0 0 12px var(--hue)}.cert-strip{--gap: 36px;--cw: min(30vw, 46vh, 400px, calc((var(--stage-w) - (var(--n) - 1) * var(--gap)) / var(--n)));--start: calc(var(--stage-w) * .3);--travel: max(0px, calc(var(--n) * var(--cw) + (var(--n) - 1) * var(--gap) - var(--stage-w)));display:flex;gap:var(--gap);width:max-content;transform:translate3d(calc(var(--start) - var(--cp) * (var(--start) + var(--travel))),0,0);will-change:transform}.exp{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px}.exp-main,.exp-mini{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--ach-col) 26%,transparent),#d2e4ff0f 64%);border:1px solid color-mix(in srgb,var(--ach-col) 40%,transparent);box-shadow:0 3px 20px #000a2873,inset 0 1px #ffffff24}.exp-main{display:flex;flex-direction:column;padding:26px 30px 28px;border-radius:22px}.exp-main .ach-more{display:flex;flex-direction:column;flex:1}.exp-main .ach-stats{margin-top:auto;padding-top:14px}.exp-side{display:grid;grid-template-rows:1fr 1fr;gap:16px}.exp-mini{padding:18px 22px 20px;border-radius:16px}.exp-when{display:block;margin-bottom:8px;font-family:Cormorant Garamond,serif;font-style:italic;font-weight:700;font-size:clamp(2.6rem,5vw,5rem);line-height:1;color:var(--ach-col)}.exp-when--s{font-size:clamp(1.7rem,2.4vw,2.4rem)}.exp-main .ach-title{font-size:clamp(1rem,1.5vw,1.35rem);margin-bottom:10px}.exp-mini .ach-title{margin-bottom:8px}.exp-main .ach-stat{font-size:.9rem}.exp-main .ach-meta,.exp-mini .ach-meta,.exp-mini .ach-stats{display:none}.journey{display:grid;grid-template-columns:minmax(0,36fr) minmax(0,64fr);gap:16px;align-items:stretch}.journey-findings{display:flex;flex-direction:column;gap:16px}.journey-findings .ach-exhibit{flex:1;padding:16px 20px 18px}.journey .ach-title{font-size:clamp(1.5rem,2.3vw,2.5rem);margin:4px 0 0}.journey .ach-more{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:flex-start;column-gap:16px;flex:none;margin-top:10px}.journey .ach-stats{flex:0 0 100%}.journey .ach-meta{flex:1 1 0;min-width:0}.journey .ach-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.journey .ach-stat{font-size:.85rem}.journey .ach-stat:last-child:nth-child(odd){grid-column:1 / -1}.journey .ach-link{margin-top:3px}@media(max-height:700px){.journey,.journey-findings{gap:10px}.journey-findings .ach-exhibit{padding:9px 14px 10px}.journey .ach-title{font-size:clamp(1.1rem,1.55vw,1.5rem);margin-top:2px}.journey .ach-more{margin-top:6px}.journey .ach-stats{gap:2px 14px}.journey .ach-meta{font-size:.56rem;letter-spacing:.06em;line-height:1.35}.journey-heat{padding:12px 18px 14px;gap:8px}}@media(max-height:800px){.journey-findings .ach-exhibit{padding:12px 16px}.journey .ach-title{font-size:clamp(1.35rem,2vw,2rem)}.journey .ach-stat{font-size:.8rem}.journey .ach-stats{gap:3px 14px}.reel-label{margin-bottom:5px}.reel-head{margin-bottom:10px;font-size:clamp(1.4rem,2.2vw,2rem)}}.journey-heat{container-type:inline-size;display:flex;flex-direction:column;justify-content:space-around;gap:18px;padding:20px 24px 22px;border-radius:14px;background:#d2e4ff17;border:1px solid rgba(220,238,255,.2);box-shadow:0 3px 20px #000a2873,inset 0 1px #ffffff24}.heat{--cell: clamp(7px, min(calc((100cqw - 4px) / 54 - 3px), calc((var(--reel-h, 800) * 1px - 316px) / 14)), 20px);--gap: 3px;margin:0}.heat figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.heat-name{font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-accent)}.heat-sum{font-family:var(--font-sans);font-size:.85rem;color:#e1ecffeb}.heat-scroll{overflow-x:auto;scrollbar-width:none}.heat-months{position:relative;height:14px;width:max-content;min-width:100%}.heat-months span{position:absolute;left:calc(var(--col) * (var(--cell) + var(--gap)));font-family:JetBrains Mono,monospace;font-size:.6rem;letter-spacing:.08em;color:var(--text-muted)}.heat-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,var(--cell));grid-auto-columns:var(--cell);gap:var(--gap);width:max-content}.heat-cell{display:block;border-radius:3px;background:#ffffff14}.heat-cell.is-pad{visibility:hidden}.heat-cell:not([data-l="0"]){background:var(--h)}.heat-cell[data-l="1"]{--h: var(--h1)}.heat-cell[data-l="2"]{--h: var(--h2)}.heat-cell[data-l="3"]{--h: var(--h3)}.heat-cell[data-l="4"]{--h: var(--h4)}.heat--gh{--h1: #146c3b;--h2: #1f8f4c;--h3: #2fb85a;--h4: #3fe06a}.heat--thm{--h1: #2c6b8c;--h2: #3f93bd;--h3: #5cb8e4;--h4: #8fdcff}.contact-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:36px 48px;gap:24px;pointer-events:auto}.contact-eyebrow{font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700;letter-spacing:.22em;color:#7dd3fcf2;text-transform:uppercase;margin:0}.contact-heading{font-family:Cormorant Garamond,serif;font-size:clamp(2rem,4.5vw,3.6rem);font-weight:700;font-style:italic;letter-spacing:.04em;line-height:1.1;color:#e6f0fff7;text-shadow:0 0 60px rgba(125,211,252,.2);margin:0}.contact-heading em{font-style:inherit;color:#7dd3fce6}.contact-links{display:flex;flex-direction:column;gap:10px;width:100%;max-width:480px}.contact-link{display:flex;align-items:center;gap:14px;width:100%;padding:11px 20px;border-radius:8px;background:#7dd3fc12;border:1px solid rgba(125,211,252,.28);text-decoration:none;text-align:left;font:inherit;color:inherit;transition:background .2s,border-color .2s;cursor:pointer;pointer-events:auto!important;position:relative;z-index:99999!important}.contact-link:hover{background:#7dd3fc29;border-color:#7dd3fc8c}.contact-link-icon{font-size:.8rem;color:#bae6fd;flex-shrink:0}.contact-link-label{font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:700;letter-spacing:.2em;color:#bae6fd;text-transform:uppercase;flex-shrink:0;min-width:90px;text-align:left}.contact-link-val{font-family:var(--font-sans);font-size:.9rem;color:#e1ecfff5;text-align:left}.contact-link-act{margin-left:auto;flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:.62rem;font-weight:700;letter-spacing:.18em;color:var(--text-accent)}.contact-footer-tag{font-family:var(--font-sans);font-size:.78rem;color:#ffffffd6;margin:0;border-top:1px solid rgba(255,255,255,.14);padding-top:14px;width:100%;max-width:520px}@media(min-width:1280px)and (max-width:1439px){.nav-links{gap:30px}}@media(min-width:1440px){.nav{left:calc(50% - 480px);right:calc(50% - 480px)}.glass-body{padding:26px 40px 20px;grid-template-columns:1fr 300px 1fr}.term-line{font-size:.98rem}.contact-content{padding:44px 64px;gap:28px}.contact-links,.contact-footer-tag{max-width:540px}.robot{max-height:580px;max-width:40vw}}@media(min-width:1920px){.nav{left:calc(50% - 580px);right:calc(50% - 580px);padding:16px 32px}.nav-logo{font-size:1.35rem}.nav-links{gap:44px;font-size:.95rem}.glass-body{padding:30px 52px 26px;grid-template-columns:1fr 330px 1fr}.g-bio{font-size:.96rem}.g-skill-items{font-size:.92rem}.term-body{padding:22px 28px 20px}.term-line{font-size:1.04rem;line-height:1.82}.stage-proj-desc{font-size:1rem;line-height:1.8}.ach-exhibit{padding:28px 32px 30px}.contact-content{padding:56px 80px;gap:36px}.contact-links,.contact-footer-tag{max-width:620px}.robot{max-height:640px;max-width:38vw}.hero-head{top:118px}}@media(min-width:2560px){.nav{left:calc(50% - 640px);right:calc(50% - 640px)}}@media(prefers-reduced-motion:reduce){.boot-ready .enter-nav,.boot-ready .enter-head,.boot-ready .enter-glass,.boot-ready .enter-robot{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.marquee-track{animation:none}.hud-date-text,.hud-cursor,.hud-dot{animation:none;opacity:1}.hero-role-word{animation:none;opacity:1;transform:none}.nav{backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.glass{backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}.ach-exhibit,.journey-heat{backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}.parallax-layer{will-change:auto}*,*:before,*:after{transition-duration:.05s!important}}.low-end .nav{backdrop-filter:blur(6px) saturate(120%)!important;-webkit-backdrop-filter:blur(6px) saturate(120%)!important}.low-end .glass{backdrop-filter:blur(8px) saturate(130%)!important;-webkit-backdrop-filter:blur(8px) saturate(130%)!important}.low-end .ach-exhibit,.low-end .journey-heat{backdrop-filter:blur(6px) saturate(120%)!important;-webkit-backdrop-filter:blur(6px) saturate(120%)!important}.low-end .marquee-track{animation:none}.low-end .hud-date-text,.low-end .hud-cursor,.low-end .hud-dot{animation:none;opacity:1}.low-end .ach-word{animation:none!important}.low-end .glass[data-stage=true]:after{display:none}.low-end .parallax-layer{will-change:auto}.low-end *,.low-end *:before,.low-end *:after{transition-duration:.08s!important}@media(min-width:768px)and (max-width:1023px){.nav{left:8%;right:8%}.glass-body{padding:20px 24px 16px}.stage-proj-name{font-size:clamp(2.4rem,4vw,3.6rem)}.stage-proj-desc{font-size:.84rem;line-height:1.6}.robot{max-width:28vw;max-height:420px}}@media(max-width:899px){.exp,.journey{grid-template-columns:1fr}.journey-findings{flex-direction:row}.ach-exhibit{padding:16px 20px 18px}}@media(min-width:1024px)and (max-width:1279px){.nav{left:15%;right:15%}.glass-body{padding:20px 28px 16px;grid-template-columns:1fr 220px 1fr}.stage-proj-name{font-size:clamp(2.8rem,4.5vw,4.5rem)}.robot{max-width:22vw;max-height:480px}}@media(min-width:768px)and (max-height:720px){.hero-head{top:84px}.hero-head .hero-eyebrow{display:none}.hero-head .hero-name{font-size:clamp(1.6rem,2.8vw,3.2rem)}.hero-head .hero-role{margin-top:6px;font-size:.78rem}.hero-head .proof-strip{margin-top:10px;gap:6px}.hero-head .proof-chip{padding:4px 10px;font-size:.66rem}.glass{min-height:330px}.glass .glass-body{padding:16px 28px 12px}.glass .glass-col,.glass .g-skill-groups{gap:8px}.glass .g-bio{font-size:.84rem;line-height:1.55}.glass .g-skill-items{font-size:.82rem;line-height:1.4}.glass .g-tag{padding:4px 10px}.glass .home-resume-link{padding:9px 20px}.stage-name-wrap{gap:10px}.stage-slide .stage-proj-name{font-size:clamp(2rem,3.4vw,3.6rem)}.stage-slide .stage-proj-desc{font-size:.86rem;line-height:1.55}.stage-slide .proj-stat-num{font-size:1.6rem}.stage-slide .stage-proj-link{margin-top:8px;padding:9px 20px}.ach-exhibit{padding:16px 20px 18px}.ach-exhibit .ach-title{font-size:clamp(1.8rem,2.8vw,2.8rem)}.journey-heat{gap:10px;padding:14px 20px 16px}.reel-block+.reel-block{margin-top:44px}.cert-strip{--cw: min(26vw, 33vh, 340px, calc((var(--stage-w) - (var(--n) - 1) * var(--gap)) / var(--n)))}.exp-main{padding:18px 22px 20px}.exp-when{font-size:clamp(2rem,3.6vw,3.2rem)}.ach-shot{max-height:14vh}}.vp-shell{--m-text-2: rgba(225, 236, 255, .88);--m-hi: #7dd3fc;--m-card: rgba(210, 228, 255, .07);--m-card-border: rgba(220, 238, 255, .16)}.m-scroll{position:fixed;inset:0;z-index:10;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scroll-behavior:smooth;scroll-padding-top:76px}.m-page{width:min(640px,100%);margin:0 auto;padding:0 20px 48px;display:flex;flex-direction:column;gap:104px}.is-mobile .marquee-layer{opacity:.45;transition:opacity .6s ease}.vp-shell:has(.reel) .marquee-layer{opacity:0}.vp-shell:has(.m-scroll[data-past-hero=true]) .marquee-layer{opacity:0}.is-mobile .hud-date,.is-mobile .hud-sys,.is-mobile .hud-live{display:none}.m-bar{position:fixed;top:12px;left:12px;right:12px;z-index:100;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.m-bar>*{pointer-events:auto}.m-bar:before{content:"";position:absolute;inset:-12px -12px -20px;z-index:-1;background:linear-gradient(to bottom,var(--bg-top) 0%,color-mix(in srgb,var(--bg-top) 65%,transparent) 55%,transparent);pointer-events:none}.m-bar-btn{height:44px;min-width:44px;border-radius:22px;border:1px solid rgba(160,200,255,.22);background:#08142abd;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);box-shadow:0 6px 24px #00081e59;color:#e6f0fff2;font-family:JetBrains Mono,monospace;font-size:1rem;display:grid;place-items:center;cursor:pointer;transition:transform .2s ease}.m-bar-btn:active{transform:scale(.92)}.m-bar-logo{padding:0 18px;font-size:.92rem;font-weight:700;letter-spacing:.16em}.m-dots{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.m-dots span{width:4px;height:4px;border-radius:50%;background:currentColor}.m-menu{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;padding:96px 28px 32px;background:#030a18e6;backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s}.m-menu.is-open{opacity:1;visibility:visible;transition:opacity .35s ease}.m-menu-close{position:absolute;top:12px;right:12px}.m-menu-links{list-style:none;display:flex;flex-direction:column;gap:4px}.m-menu-links li{opacity:0;transform:translateY(28px);transition:opacity .3s ease,transform .3s ease}.m-menu.is-open .m-menu-links li{opacity:1;transform:none;transition:opacity .5s ease,transform .6s cubic-bezier(.16,1,.3,1);transition-delay:calc(.08s + var(--i) * .06s)}.m-menu-links button{display:flex;align-items:baseline;gap:16px;width:100%;padding:6px 0;background:none;border:0;cursor:pointer;text-align:left;font-family:Cormorant Garamond,serif;font-weight:700;font-style:italic;font-size:clamp(2.5rem,12vw,3.6rem);line-height:1.12;color:var(--text-primary)}.m-menu-num{font-family:JetBrains Mono,monospace;font-style:normal;font-size:.7rem;font-weight:600;letter-spacing:.2em;color:var(--m-hi)}.m-menu-foot{margin-top:auto;display:flex;flex-direction:column;gap:18px;opacity:0;transition:opacity .4s ease}.m-menu.is-open .m-menu-foot{opacity:1;transition-delay:.35s}.m-menu-foot .home-resume-link{align-self:stretch;margin:0}.m-menu-social{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}.m-menu-social a{padding:8px 0;font-family:JetBrains Mono,monospace;font-size:.66rem;font-weight:700;letter-spacing:.16em;color:var(--m-hi);text-decoration:none}.m-hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:104px}.m-hero .hero-name{font-size:clamp(2.8rem,14vw,4.6rem);line-height:.95}.m-hero .hero-role{margin-top:16px;font-size:.85rem}.m-hero .proof-strip{margin-top:22px}.m-hero-robot{margin-top:auto;width:min(88vw,400px);height:auto;-webkit-mask-image:linear-gradient(to bottom,#000 75%,transparent);mask-image:linear-gradient(to bottom,#000 75%,transparent);animation:mFloat 6s ease-in-out infinite}@keyframes mFloat{50%{transform:translateY(-8px)}}@keyframes mRise{0%{opacity:0;transform:translateY(28px);filter:blur(10px)}}.boot-ready .m-bar,.boot-ready .m-hero>*{animation:mRise .9s cubic-bezier(.16,1,.3,1) both}.boot-ready .m-hero>:nth-child(2){animation-delay:.08s}.boot-ready .m-hero>:nth-child(3){animation-delay:.16s}.boot-ready .m-hero>:nth-child(4){animation-delay:.24s}.boot-ready .m-hero .m-hero-robot{animation:mRise 1.2s cubic-bezier(.16,1,.3,1) .2s both,mFloat 6s ease-in-out 1.4s infinite}.m-label{margin-bottom:14px;font-family:JetBrains Mono,monospace;font-size:.66rem;font-weight:600;letter-spacing:.24em;color:var(--m-hi)}.m-title{margin-bottom:22px;font-family:Cormorant Garamond,serif;font-weight:700;font-style:italic;font-size:clamp(2rem,9vw,2.7rem);line-height:1.12;color:var(--text-primary)}.m-title em{font-style:inherit;color:var(--m-hi)}.m-body{font-family:var(--font-sans);font-size:.92rem;line-height:1.7;color:var(--m-text-2)}.m-resume{align-self:auto;width:100%;margin-top:30px}.m-skills{display:flex;flex-direction:column;gap:16px;margin:4px -20px 0;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent)}.m-skill-row{overflow:hidden}.m-skill-track{display:flex;align-items:center;width:max-content;animation:marquee 34s linear infinite}.m-skill-row:nth-child(2) .m-skill-track{animation-duration:30s;animation-direction:reverse}.m-skills:active .m-skill-track{animation-play-state:paused}.m-skill-track span{flex-shrink:0;margin-right:10px;white-space:nowrap}.m-skill-row--words span{display:flex;align-items:center;gap:20px;margin-right:20px;font-family:Cormorant Garamond,serif;font-weight:700;font-style:italic;font-size:1.8rem;color:var(--text-primary)}.m-skill-row--words span:after{content:"//";font-family:JetBrains Mono,monospace;font-style:normal;font-size:.8rem;color:var(--m-hi)}.m-skill-row--chips span{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:6px;border:1px solid var(--tag-border);background:var(--tag-bg);color:var(--tag-text);font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.06em}.m-glass{border-radius:22px;background:var(--m-card);border:1px solid var(--m-card-border);box-shadow:0 14px 40px #000a2859,inset 0 1px #ffffff14}.m-hint{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin:-8px 0 12px;font-family:JetBrains Mono,monospace;font-size:.56rem;letter-spacing:.3em;color:var(--m-hi)}.m-hint:after{content:"→";animation:mNudge 1.6s ease-in-out infinite}@keyframes mNudge{50%{transform:translate(6px)}}.m-carousel{display:flex;align-items:flex-start;gap:14px;margin:0 -20px;padding:4px 20px 20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 20px;scrollbar-width:none}.m-carousel::-webkit-scrollbar{display:none}.m-proj{flex:0 0 min(84vw,460px);scroll-snap-align:start;display:flex;flex-direction:column;gap:12px;padding:22px 18px 18px}.m-proj-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.m-proj .stage-proj-id{color:var(--m-hi)}.m-proj-status{font-family:JetBrains Mono,monospace;font-size:.58rem;letter-spacing:.12em;color:#28c840;text-align:right}.m-proj .proj-stats{gap:8px 18px}.m-proj .proj-stat-num{font-size:1.6rem}.m-proj .stage-proj-name{font-size:clamp(1.8rem,8.4vw,2.4rem);line-height:1.04}.m-proj-type{font-family:JetBrains Mono,monospace;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#8be9fd}.m-proj .stage-proj-desc{font-size:.88rem;line-height:1.65;color:var(--m-text-2)}.m-chips{display:flex;flex-wrap:wrap;gap:8px}.m-chips .g-tag{white-space:nowrap}.m-term summary{display:inline-flex;align-items:center;gap:8px;padding:10px 0 4px;list-style:none;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.66rem;font-weight:700;letter-spacing:.18em;color:#50fa7b}.m-term summary::-webkit-details-marker{display:none}.m-term summary:before{content:"▸";transition:transform .25s ease}.m-term[open] summary:before{transform:rotate(90deg)}.m-term .term-card{margin-top:10px;box-shadow:0 0 0 1px #00000080;animation:nameSlideUp .35s cubic-bezier(.16,1,.3,1) both}.m-term .term-bar{padding:9px 12px}.m-term .term-dot{width:10px;height:10px}.m-term .term-title,.m-term .term-badge,.m-term .term-meta{display:none}.m-term .term-body{padding:12px;gap:2px}.m-term .term-line{font-size:.68rem;line-height:1.6;animation-delay:calc(.1s + var(--i, 0) * .12s)}.m-proj .stage-proj-link{margin-top:6px;align-self:stretch;padding:12px 16px;font-size:.72rem}.m-ach{position:relative;list-style:none;display:flex;flex-direction:column;gap:36px;padding-left:30px}.m-ach:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;border-radius:1px;background:linear-gradient(to bottom,#7dd3fc00,#7dd3fcbf 6%,#7dd3fc73 85%,#7dd3fc00);box-shadow:0 0 8px #7dd3fc66}.m-ach-item{position:relative}.m-ach-item:before{content:"";position:absolute;top:3px;left:-27px;width:10px;height:10px;border-radius:50%;background:var(--ach-col);box-shadow:0 0 8px var(--ach-col),0 0 20px var(--ach-col);transform:scale(0);transition:transform .6s cubic-bezier(.34,1.56,.64,1) .15s}.m-ach-item.is-in:before{transform:scale(1)}.m-ach-item .ach-label{font-size:.58rem;margin-bottom:6px}.m-ach-item .ach-title{font-size:1rem;margin-bottom:8px;color:var(--text-primary)}.m-ach-item .ach-stat{font-size:.84rem;color:var(--m-text-2)}.m-ach-item .ach-meta{border-top:none;padding-top:0;margin-top:6px;font-size:.6rem;color:var(--text-muted)}.m-ach-item .ach-link{margin-top:8px;padding:6px 0}.m-certs{--cw: min(76vw, 320px);display:flex;gap:14px;margin:0 -20px;padding:4px 20px 16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;scrollbar-width:none}.m-certs::-webkit-scrollbar{display:none}.m-certs .cert{position:relative;left:auto;flex:0 0 var(--cw);scroll-snap-align:start;transform:none;opacity:1}.m-journey{display:flex;flex-direction:column;gap:14px}.m-panel{padding:20px 18px;border-left:3px solid var(--ach-col)}.m-panel .ach-title{font-size:1.05rem}.m-heats .heat{--cell: 10px}.m-heats .heat-name{color:#d8f0ff}.m-heats{container-type:inline-size;display:flex;flex-direction:column;gap:22px;margin-top:22px;padding:16px 14px 18px;border-radius:16px;background:#061830a8;border:1px solid rgba(220,238,255,.16)}.m-contact{overflow:hidden;background:radial-gradient(80% 60% at 0% 0%,rgba(125,211,252,.22),transparent 60%),radial-gradient(80% 70% at 100% 100%,rgba(40,90,255,.24),transparent 62%),var(--m-card)}.m-contact .contact-content{position:static;padding:36px 18px 28px;gap:20px}.m-contact .contact-heading{font-size:clamp(1.9rem,8.6vw,2.6rem)}.m-contact .contact-heading em{font-style:inherit;color:#7dd3fc}.m-contact .contact-link{flex-wrap:wrap;gap:4px 12px;padding:13px 14px}.m-contact .contact-link-label{flex:1 0 calc(100% - 28px)}.m-contact .contact-link-val{min-width:0;overflow-wrap:anywhere}.m-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1)}.m-reveal.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.m-scroll{scroll-behavior:auto}.m-reveal{opacity:1;transform:none;transition:none}.m-skill-track{animation:none}.m-skill-row{overflow-x:auto}.boot-ready .m-bar,.boot-ready .m-hero>*,.boot-ready .m-hero .m-hero-robot,.m-hero-robot,.m-hint:after{animation:none}.boot-ready .hero-name .ch{animation:none;transform:none}}.low-end .m-reveal{opacity:1;transform:none;transition:none}.low-end .m-skill-track{animation:none}.low-end .m-skill-row{overflow-x:auto}.low-end .m-hero-robot,.low-end .boot-ready .m-hero .m-hero-robot{animation:none}@media(min-width:768px){.m-page{width:min(920px,100%)}.m-hint{display:none}.m-carousel{flex-wrap:wrap;align-items:stretch;overflow:visible;margin:0;padding:4px 0 20px}.m-proj{flex:0 0 calc(50% - 7px)}.m-certs{flex-wrap:wrap;overflow:visible;margin:0;padding:4px 0 16px}.m-certs .cert{flex:0 0 calc(50% - 7px)}}@media(max-height:539px){.m-hero{min-height:0;padding-top:72px}.m-hero-robot{width:170px;margin-top:16px}}.stage-slide .stage-proj-id,.m-proj .stage-proj-id{color:var(--acc, var(--text-accent))}.stage-slide .stage-proj-name{text-shadow:0 0 60px color-mix(in srgb,var(--acc) 40%,transparent)}.stage-slide .proj-stat-num,.m-proj .proj-stat-num{color:var(--acc, var(--text-accent))}.stage-slide .g-tag,.m-proj .g-tag{border-color:color-mix(in srgb,var(--acc) 50%,transparent);color:color-mix(in srgb,var(--acc) 40%,#fff);background:color-mix(in srgb,var(--acc) 10%,transparent)}.stage-slide .stage-proj-link:not(:hover),.m-proj .stage-proj-link:not(:hover){background:var(--acc, var(--text-accent));box-shadow:0 0 20px color-mix(in srgb,var(--acc) 42%,transparent)}.stage-slide .term-card{box-shadow:0 0 0 1px #000000a6,0 28px 70px #0009,0 0 70px color-mix(in srgb,var(--acc) 18%,transparent),inset 0 1px #ffffff0f}.m-proj .m-proj-type{color:color-mix(in srgb,var(--acc) 55%,#fff)}
