@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Manrope:wght@400;500;600;700;800&family=Sora:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#02070d;--bg-soft:#07111d;--panel:#0a101ac7;--panel-strong:#080d16eb;--border:#b4d4f41f;--border-strong:#b4d4f43d;--text:#fafcfffa;--text-soft:#e4ebf4e6;--text-faint:#b3c1d49e;--accent:#67dcff;--accent-2:#9aa6ff;--accent-rgb:103, 220, 255;--gold:#d9ba76;--gold-rgb:217, 186, 118;--status-ok:#6ee7a8;--status-progress:#d9ba76;--status-archived:#ffffff6b;--shadow-soft:0 18px 54px #0000005c;--shadow-strong:0 30px 90px #00000080;--radius-sm:10px;--radius-md:18px;--radius-lg:24px;--radius-xl:32px;--max-width:1180px;--content-pad:clamp(1.15rem, 3.5vw, 2.8rem);--section-gap:clamp(4.5rem, 13vw, 9rem);--font-body:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Sora", "Manrope", ui-sans-serif, sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", ui-monospace, monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.2s;--duration-base:.4s;--duration-slow:.8s;--z-scene:0;--z-ui:10;--z-overlay:40;--z-nav:30;font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text);margin:0;font-weight:700;line-height:1.04}h2{font-weight:600}p{color:var(--text-soft);margin:0;line-height:1.78}a{color:inherit}.mono{font-family:var(--font-mono);letter-spacing:.02em}.eyebrow,.kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.28em;color:var(--accent);font-size:.7rem}*,:before,:after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth;min-height:100%}html.scroll-locked,html.scroll-locked body{height:100vh;overflow:hidden}body{min-width:320px;min-height:100vh;color:var(--text);font-family:var(--font-body);background:radial-gradient(circle at 18% 18%,#67dcff1f,#0000 30%),radial-gradient(circle at 78% 22%,#e9cf9814,#0000 24%),radial-gradient(circle,#0c142033,#0000 58%),linear-gradient(#02070d 0%,#030912 42%,#010205 100%);margin:0;font-size:16px;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.18;z-index:1;background-color:#0000;background-image:linear-gradient(#ffffff03 1px,#0000 1px),linear-gradient(90deg,#ffffff03 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:84px 84px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 24%,#0000 80%);mask-image:radial-gradient(circle,#000 24%,#0000 80%)}body:after{content:"";pointer-events:none;opacity:.9;z-index:0;background:radial-gradient(circle at 26% 22%,#67dcff14,#0000 22%),radial-gradient(circle at 77% 26%,#d9ba760a,#0000 18%);position:fixed;inset:0}#root{isolation:isolate;z-index:0;min-height:100vh;position:relative}img,picture,video,canvas,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}::selection{color:#fff;background:#67dcff47}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app-engine{width:100%;min-height:100vh;position:relative}.scene-canvas-mount{z-index:var(--z-scene);position:fixed;inset:0}.scene-canvas-root{outline:none;display:block;width:100%!important;height:100%!important}.ui-overlay{z-index:var(--z-ui);position:relative}.ui-overlay:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 18% 18%,#02040a08,#02040a1a 44%,#02040a3d 100%),linear-gradient(#02040a08,#02040a14 34%,#02040a29);position:fixed;inset:0}.opening-overlay{z-index:var(--z-overlay);padding:var(--content-pad);pointer-events:none;justify-content:flex-end;align-items:center;display:flex;position:fixed;inset:0}.skip-button{pointer-events:auto;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--text-soft);border:1px solid var(--border-strong);transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:#070c14b3;border-radius:999px;padding:.7rem 1.05rem;font-size:.68rem}.skip-button:hover{color:var(--accent);border-color:rgba(var(--accent-rgb), .5);background:#090f1adb}.hero-scroll-span{height:190vh;position:relative}.hero-scroll-sticky{height:100vh;padding:var(--content-pad);isolation:isolate;justify-content:flex-start;align-items:flex-start;padding-top:clamp(2.4rem,9vh,5.8rem);padding-left:clamp(1.25rem,4vw,4rem);display:flex;position:sticky;top:0}.hero-scroll-sticky:before{content:"";filter:blur(30px);opacity:.62;z-index:-1;pointer-events:none;background:radial-gradient(circle at 24% 32%,#67dcff1a,#0000 60%);width:min(52vw,760px);height:min(64vh,540px);position:absolute;top:clamp(1rem,6vh,4rem);left:clamp(.8rem,4vw,2.5rem)}.hero-copy{text-align:left;pointer-events:auto;width:min(680px,92vw);box-shadow:none;background:0 0;border:none;padding:0}.hero-eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.34em;color:var(--accent);margin:0 0 .6rem;font-size:.68rem}.hero-name{letter-spacing:-.07em;text-shadow:0 0 18px #02040a4d;margin:0 0 .72rem;font-size:clamp(2.85rem,5.4vw,4.45rem);line-height:.92}.hero-role{color:var(--text);opacity:.92;margin:0 0 1.05rem;font-size:.98rem}.hero-role-divider{color:var(--accent);margin:0 .35rem}.hero-headline{font-size:clamp(1.02rem,1.7vw,1.28rem);font-family:var(--font-display);color:var(--text);opacity:.98;max-width:52ch;margin-bottom:1.15rem;font-weight:600;line-height:1.62}.hero-bullet-list{gap:.62rem;max-width:54ch;margin-bottom:1.25rem;display:grid}.hero-bullet-list li{color:var(--text-soft);padding-left:1rem;line-height:1.68;position:relative}.hero-bullet-list li:before{content:"";background:var(--accent);width:.34rem;height:.34rem;box-shadow:0 0 12px rgba(var(--accent-rgb), .7);border-radius:999px;position:absolute;top:.8rem;left:0}.hero-metric-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.8rem;max-width:760px;display:grid}.hero-metric-grid>div{border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080d168f;border-radius:18px;flex-direction:column;gap:.35rem;padding:.9rem 1rem;display:flex}.hero-metric-value{color:var(--text);font-size:.98rem;line-height:1.45}.hero-metric-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--text-faint);font-size:.64rem}.nav-dock{z-index:var(--z-nav);position:fixed;top:50%;right:clamp(1rem,3vw,2.25rem);transform:translateY(-50%)}.nav-dock ul{flex-direction:column;gap:.85rem;display:flex}.nav-dock a{color:var(--text-faint);font-family:var(--font-mono);letter-spacing:.08em;transition:color var(--duration-fast) var(--ease-out), opacity var(--duration-fast) var(--ease-out);border-radius:999px;align-items:center;gap:.6rem;padding:.4rem .6rem;font-size:.72rem;display:flex}.nav-dock-code{text-align:right;opacity:.6;width:1.5rem}.nav-dock-label{white-space:nowrap;opacity:0;max-width:0;transition:max-width var(--duration-base) var(--ease-out), opacity var(--duration-base) var(--ease-out);overflow:hidden}.nav-dock a:hover .nav-dock-label,.nav-dock a.is-active .nav-dock-label{opacity:1;max-width:12rem}.nav-dock a:before{content:"";display:none}.nav-dock a.is-active,.nav-dock a:hover{color:var(--accent)}.nav-dock a.is-active .nav-dock-code{opacity:1;color:var(--accent)}.mission-section{max-width:var(--max-width);padding:var(--section-gap) var(--content-pad);margin:0 auto;position:relative}.mission-section-final{padding-bottom:clamp(4rem,10vw,7rem)}.section-heading{align-items:baseline;gap:1.1rem;margin-bottom:clamp(1.6rem,4vw,2.7rem);display:flex}.section-heading-code{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--border-strong);background:#ffffff05;border-radius:8px;flex-shrink:0;padding:.2rem .55rem;font-size:.82rem}.section-heading-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.28em;color:var(--text-faint);margin:0 0 .35rem;font-size:.68rem}.section-heading-title{font-size:clamp(1.6rem,3vw,2.25rem)}.section-with-rail{grid-template-columns:minmax(0,1fr) minmax(300px,340px);align-items:start;gap:1.2rem;display:grid}.section-main{min-width:0}.section-rail{align-self:start;max-height:calc(100vh - 7rem);position:sticky;top:5.25rem;overflow:auto}.hover-detail-rail,.detail-modal,.contact-channel-card,.skills-card,.panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hover-detail-rail{min-height:420px;padding:1.25rem}.hover-detail-rail-head{align-items:flex-start;gap:.9rem;margin-bottom:.9rem;display:flex}.hover-detail-rail-code{font-family:var(--font-mono);color:var(--accent);border:1px solid var(--border-strong);background:#ffffff05;border-radius:8px;flex-shrink:0;padding:.15rem .5rem;font-size:.72rem}.hover-detail-rail-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.22em;color:var(--text-faint);margin:0 0 .25rem;font-size:.64rem}.hover-detail-rail-title{font-size:1.08rem}.hover-detail-rail-body{gap:.8rem;display:grid}.hover-detail-rail-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.16em;color:var(--gold);font-size:.64rem}.hover-detail-rail-description{color:var(--text-soft)}.hover-detail-rail-list{gap:.55rem;display:grid}.hover-detail-rail-list li{color:var(--text-faint);padding-left:1rem;position:relative}.hover-detail-rail-list li:before{content:"";background:var(--accent);border-radius:50%;width:.3rem;height:.3rem;position:absolute;top:.78rem;left:0}.hover-detail-rail-tags{margin-top:.25rem}.hover-detail-rail-meta{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);font-size:.66rem}.hover-detail-rail-empty{align-content:center;min-height:220px}.mission-brief-panel{max-width:760px;margin-bottom:1.8rem;padding:2rem}.mission-brief-lead{color:var(--text);margin-bottom:1rem;font-size:1.08rem}.mission-brief-bullets{gap:.65rem;display:grid}.mission-brief-bullets li{color:var(--text-soft);padding-left:1rem;position:relative}.mission-brief-bullets li:before{content:"";background:var(--accent);border-radius:50%;width:.32rem;height:.32rem;position:absolute;top:.72rem;left:0}.mission-brief-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.mission-brief-stats>div{border-left:2px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#ffffff05;flex-direction:column;gap:.35rem;padding:1rem 1.15rem;display:flex}.stat-value{font-family:var(--font-display);color:var(--text);font-size:.98rem}.stat-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--text-faint);font-size:.66rem}.docking-bay-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.15rem;display:grid}.docking-bay-card,.research-card,.education-card,.experience-content,.contact-channel-card{flex-direction:column;gap:.8rem;min-height:100%;padding:1.5rem;display:flex}.docking-bay-card-header,.education-card-header,.experience-meta{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.docking-bay-callsign,.experience-period,.education-period{font-family:var(--font-mono);letter-spacing:.16em;color:var(--text-faint);font-size:.68rem}.docking-bay-card h3,.research-card h3,.education-card h3,.experience-content h3{font-size:1.12rem}.status-pill{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--border-strong);border-radius:999px;padding:.25rem .6rem;font-size:.62rem}.status-operational{color:var(--status-ok);border-color:#6ee7a859}.status-in-development{color:var(--status-progress);border-color:rgba(var(--gold-rgb), .35)}.status-archived{color:var(--status-archived)}.tech-tag-list{flex-wrap:wrap;gap:.5rem;display:flex}.tech-tag-list li{font-family:var(--font-mono);color:var(--text-soft);border:1px solid var(--border);background:#ffffff05;border-radius:999px;padding:.28rem .65rem;font-size:.66rem}.research-list,.education-list{flex-direction:column;gap:1rem;display:flex}.research-status,.education-institution,.experience-org{color:var(--text-faint);font-size:.92rem}.experience-timeline{flex-direction:column;gap:1.15rem;padding-left:.4rem;display:flex;position:relative}.experience-timeline:before{content:"";background:linear-gradient(180deg, transparent, rgba(var(--accent-rgb), .38), transparent);width:1px;position:absolute;top:.8rem;bottom:.8rem;left:.4rem}.experience-item{grid-template-columns:1.4rem minmax(0,1fr);align-items:start;gap:1rem;display:grid;position:relative}.experience-marker{border:2px solid var(--accent);width:.72rem;height:.72rem;box-shadow:0 0 18px rgba(var(--accent-rgb), .45);background:#07111f;border-radius:50%;margin-top:1.05rem}.experience-content{position:relative}.experience-kind{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:.62rem}.detail-trigger{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--accent);border:1px solid rgba(var(--accent-rgb), .26);transition:transform var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:#67dcff0a;border-radius:999px;align-self:flex-start;padding:.35rem .65rem;font-size:.64rem}.detail-trigger:hover{border-color:rgba(var(--accent-rgb), .4);background:#67dcff14;transform:translateY(-1px)}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.skills-card{border:1px solid var(--border);border-radius:var(--radius-lg);min-height:210px;box-shadow:var(--shadow-soft);background:#080d16a3;padding:1.35rem}.skills-card h3{margin-bottom:0;font-size:1.05rem}.skills-tag-list{margin-top:.8rem}.contact-summary{max-width:980px;margin-bottom:1rem;padding:1.15rem 1.25rem}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;display:grid}.contact-channel-card{justify-content:flex-start;gap:.6rem;min-height:118px}.contact-channel-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--text-faint);margin-bottom:.15rem;font-size:.64rem}.contact-channel-value{width:100%;color:var(--text);white-space:normal;text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;font-size:clamp(.84rem,1.35vw,.96rem);line-height:1.45;display:block;overflow:visible}.terminal-footer{font-family:var(--font-mono);color:var(--text-faint);letter-spacing:.08em;margin-top:1.2rem;font-size:.72rem}.detail-modal-backdrop{z-index:calc(var(--z-overlay) + 10);padding:var(--content-pad);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#02040aad;place-items:center;display:grid;position:fixed;inset:0}.detail-modal{border:1px solid var(--border-strong);border-radius:var(--radius-xl);width:min(760px,100%);max-height:min(84vh,860px);box-shadow:var(--shadow-strong);background:linear-gradient(#0a0f19fa,#080c14f0);padding:1.4rem 1.4rem 1.2rem;overflow:auto}.detail-modal-header{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:.9rem;display:flex}.detail-modal-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin-bottom:.35rem;font-size:.64rem}.detail-modal-subtitle{color:var(--text-faint);margin-top:.35rem}.detail-modal-close{border:1px solid var(--border-strong);width:2.1rem;height:2.1rem;color:var(--text-soft);background:#ffffff08;border-radius:999px;font-size:1.2rem;line-height:1}.detail-modal-description{color:var(--text);margin-bottom:.9rem}.detail-modal-list{gap:.65rem;display:grid}.detail-modal-list li{color:var(--text-soft);padding-left:1rem;position:relative}.detail-modal-list li:before{content:"";background:var(--accent);border-radius:50%;width:.3rem;height:.3rem;position:absolute;top:.78rem;left:0}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-soft);transition:border-color var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);background:linear-gradient(#0b111be0,#080c14c2)}.panel:hover{border-color:var(--border-strong);background:linear-gradient(#0c121deb,#080c14d1)}.docking-bay-card.panel:hover,.research-card.panel:hover,.education-card.panel:hover,.experience-content.panel:hover,.contact-channel-card.panel:hover,.hover-detail-rail.panel:hover,.contact-summary.panel:hover{transform:translateY(-3px)}@keyframes orbit-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbit-counter-rotate{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@media (prefers-reduced-motion:reduce){.orbit-ring,.orbit-node-label{animation:none!important}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}@media (max-width:980px){.section-with-rail{grid-template-columns:1fr}.section-rail{max-height:none;position:static}.nav-dock{top:auto;bottom:1rem;right:50%;transform:translate(50%)}.nav-dock ul{background:var(--panel-strong);border:1px solid var(--border-strong);border-radius:999px;flex-direction:row;gap:.4rem;padding:.4rem}.nav-dock-label{display:none}.nav-dock a{padding:.5rem}.hero-scroll-sticky{padding-left:var(--content-pad)}.mission-brief-stats,.skills-grid,.contact-grid{grid-template-columns:1fr}.contact-channel-card{min-height:104px}.contact-channel-value{font-size:.92rem}}@media (max-width:640px){.skip-button{bottom:1rem;right:1rem}.experience-timeline{gap:.95rem}.experience-item{grid-template-columns:1fr}.experience-marker{display:none}.docking-bay-grid,.research-list,.education-list,.skills-grid,.contact-grid{grid-template-columns:1fr}.detail-modal{padding:1.1rem}.hero-headline{max-width:100%}.hero-bullet-list{gap:.5rem}.hero-metric-grid{grid-template-columns:1fr}.contact-summary{padding:1rem}.contact-channel-card{padding:1.05rem}}
