@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-cyrillic-wght-normal.Dvxsihut.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-greek-wght-normal.DL7QRZyv.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-vietnamese-wght-normal.usUDDRr7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-ext-wght-normal.Ch3YOpNY.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/manrope-latin-wght-normal.DHIcAJRg.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer reset{*,:before,:after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure{margin:0}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{display:block}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{color:inherit}[hidden]{display:none!important}dialog:not([open]){display:none}}@layer base{:root{--bg:#111613;--surface:#181e1a;--surface-2:#202820;--surface-hover:#283128;--text:#eef1e8;--muted:#abb4a9;--faint:#939f92;--line:#303a31;--accent:#b8ee97;--on-accent:#192416;--soft-accent:#b8ee9710;--purple:#c0acd9;--visual-bg:#222a24;--visual-featured:#233329;--visual-violet:#25232b;--diagram-text:#c9b6e2;--diagram-line:#806995;--diagram-bg:#342b41;--hardware:#87b8ca;--education:#c9b58c;--panel-shadow:none;--header:#111613f2;--font:"Manrope Variable", sans-serif;--mono:"IBM Plex Mono", monospace;--radius:12px;color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:105px}:root[data-theme=light]{--bg:#f2f5ef;--surface:#fff;--surface-2:#e5ecdf;--surface-hover:#d8e4cf;--text:#202b1d;--muted:#485645;--faint:#53634e;--line:#becdb6;--accent:#356023;--on-accent:#fff;--soft-accent:#35602312;--purple:#68487e;--visual-bg:#e3ebde;--visual-featured:#dce9d4;--visual-violet:#eee7f4;--diagram-text:#624178;--diagram-line:#967ba8;--diagram-bg:#faf7fd;--hardware:#326278;--education:#745b2e;--panel-shadow:0 8px 28px #273c1d0a;--header:#f2f5eff5;color-scheme:light}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-anchor:none;font-size:15px;line-height:1.65}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}h1,h2,h3,h4{letter-spacing:-.045em;font-weight:600;line-height:1.15}h2{font-size:clamp(30px,3.6vw,46px)}p{text-wrap:pretty}button{background:0 0;border:0}a,button,summary{touch-action:manipulation}a,button{transition:color .18s,background .18s,border-color .18s,transform .18s}.container{width:min(1220px,100% - 96px);margin-inline:auto}.section{padding-block:100px;scroll-margin-top:24px}.accent{color:var(--accent)}.muted{color:var(--muted)}.dim{color:var(--faint)}.mono,.eyebrow{font-family:var(--mono);letter-spacing:.07em;font-size:12px}.eyebrow{letter-spacing:.11em;color:var(--muted)}.small{font-size:13px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.professional-only{display:none}[data-mode=professional] .exploration-only{display:none!important}[data-mode=professional] .professional-only{display:flex}.pixelated{image-rendering:pixelated}}@layer components{.project-card,.research-panel,.education article,.skill-detail{box-shadow:var(--panel-shadow)}.button svg,.text-button svg{flex-shrink:0}.skip-link{background:var(--accent);color:var(--on-accent);z-index:100;padding:12px 20px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}.site-header{z-index:40;background:var(--header);border-bottom:1px solid var(--line);backdrop-filter:blur(12px);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:25px;max-width:1440px;min-height:86px;margin:auto;padding:0 48px;display:flex}.brand{letter-spacing:-.06em;white-space:nowrap;align-items:center;gap:11px;font-size:20px;font-weight:700;display:flex}.brand-dot{color:var(--accent)}.desktop-nav,.header-actions{align-items:center;gap:27px;display:flex}.desktop-nav{color:var(--muted);margin-left:auto;font-size:14px}.desktop-nav a{padding-block:13px}.desktop-nav a:hover,.desktop-nav a[aria-current],.text-button:hover{color:var(--accent)}.header-actions{gap:10px}.mode-button{border:1px solid var(--line);white-space:nowrap;border-radius:7px;align-items:center;gap:8px;padding:10px 13px;font-size:13px;display:flex}.mode-button:hover{border-color:var(--accent)}.icon-button{border-radius:6px;justify-content:center;align-items:center;gap:7px;min-width:42px;min-height:42px;display:inline-flex}.icon-button:hover{background:var(--surface-2)}.search-button kbd{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:12px}.mobile-nav{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10px;padding:16px 28px}.mobile-nav:not([hidden]){display:grid}.mobile-nav a{padding:8px}.button{border:1px solid var(--line);border-radius:5px;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:13px 19px;font-size:14px;font-weight:600;display:inline-flex}.button.primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.button.primary:hover{filter:brightness(1.08);transform:translateY(-2px)}.button.ghost:hover{background:var(--surface-2);border-color:var(--faint)}.text-button{align-items:center;gap:9px;padding:8px 0;font-size:14px;display:inline-flex}.status-dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 0 4px var(--soft-accent);border-radius:50%;flex-shrink:0;display:inline-block}.hero{grid-template-columns:1fr 1fr;align-items:center;column-gap:18px;padding-top:62px;display:grid}.hero-eyebrow{align-items:center;gap:10px;margin-bottom:28px;font-size:12px;display:flex}.hero-name{color:var(--muted);margin-bottom:17px;font-size:15px}.hero h1{letter-spacing:-.061em;font-size:clamp(42px,4.65vw,67px);font-weight:550;line-height:1.09}.hero-description{max-width:400px;color:var(--muted);margin-top:24px;font-size:14px;line-height:1.9}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.hero-contact{color:var(--faint);flex-direction:column;align-items:start;margin-top:25px;font-size:12px;display:flex}.hero-contact span{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:flex}.hero-contact:hover span{color:var(--accent)}.odyssey-map{aspect-ratio:600/620;isolation:isolate;align-self:center;width:100%;position:relative}.orbit-lines{width:100%;height:100%;color:var(--accent);stroke:var(--line);stroke-width:1px}.map-coordinate{color:var(--faint);justify-content:space-between;font-size:11px;display:flex;position:absolute;inset:0 0 auto}.map-coordinate span{color:var(--accent)}.map-avatar{text-align:center;width:39%;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.portrait-ring{border:1px solid var(--accent);background:var(--bg);border-radius:50%;padding:9px;position:relative}.portrait-ring:after{content:"";border:1px solid var(--line);border-radius:50%;position:absolute;inset:-8px}.active-avatar{aspect-ratio:1;object-fit:cover;width:100%}.portrait-ring .active-avatar{border-radius:50%}.portrait-marker{background:var(--accent);color:var(--on-accent);border:5px solid var(--bg);width:39px;height:39px;font-family:var(--mono);z-index:1;border-radius:50%;place-items:center;font-size:12px;display:grid;position:absolute;bottom:-1px;right:20px}.avatar-trigger{white-space:nowrap;border:1px solid var(--line);background:var(--bg);border-radius:20px;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:8px 13px;font-size:12px;display:flex;position:absolute;top:calc(100% + 26px);left:50%;transform:translate(-50%)}.avatar-trigger:hover{border-color:var(--accent)}.map-node{background:var(--bg);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;padding:11px 13px;font-size:13px;display:flex;position:absolute;box-shadow:0 8px 24px #0001}.map-node:hover{border-color:var(--accent);transform:translateY(-3px)}.map-node>svg{color:var(--faint);margin-left:4px}.map-node small{font-family:var(--mono);color:var(--faint);letter-spacing:.08em;margin-bottom:2px;font-size:10px;display:block}.node-icon{color:var(--accent);justify-content:center;width:28px;display:flex}.node-development{top:21%;left:-1%}.node-research{top:22%;right:-1%}.node-research .node-icon{color:var(--purple)}.node-hardware{bottom:17%;right:0}.node-hardware .node-icon{color:var(--hardware)}.node-education{bottom:21%;left:0}.node-education .node-icon{color:var(--education)}.map-caption{width:100%;color:var(--faint);font-family:var(--mono);justify-content:space-between;align-items:center;font-size:11px;display:flex;position:absolute;bottom:0}.map-cross{color:var(--muted);font-size:18px}.hero-bottom{border-bottom:1px solid var(--line);color:var(--faint);grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:10px;padding:42px 0 23px;display:flex}.hero-bottom .mono{letter-spacing:.1em;font-size:11px}.hero-bottom a{align-items:center;gap:14px;font-size:12px;display:flex}.journey-strip{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding-block:20px;font-size:13px;display:flex}.journey-strip>div{align-items:center;gap:12px;display:flex}.journey-strip>div>svg{color:var(--accent)}.progress-numbers{font-family:var(--mono);color:var(--faint);font-size:12px}.progress-track{background:var(--line);border-radius:10px;width:126px;height:3px;overflow:hidden}.progress-track span{background:var(--accent);width:0;height:100%;transition:width .4s;display:block}.professional-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:9px 25px;padding-block:25px;font-size:14px}.professional-nav a{align-items:center;gap:5px;display:flex}.section-label{font-family:var(--mono);letter-spacing:.11em;color:var(--muted);align-items:center;gap:16px;margin-bottom:37px;font-size:12px;display:flex}.section-label>span{color:var(--accent);border:1px solid var(--line);border-radius:50%;place-items:center;width:29px;height:29px;font-size:12px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:25px;margin-bottom:40px;display:flex}.section-heading p{color:var(--muted);margin-top:18px;font-size:14px}.section-counter{color:var(--faint);white-space:nowrap;font-size:12px}.about-section{border-bottom:1px solid var(--line)}.about-grid{grid-template-columns:1fr 1.1fr;gap:80px;display:grid}.profile-mini{align-items:center;gap:15px;margin-top:33px;display:flex}.profile-mini>img{border-radius:50%;width:67px;height:67px}.profile-mini strong{font-size:14px;display:block}.profile-mini span{color:var(--muted);font-size:13px;display:block}.profile-mini .text-button{color:var(--accent);padding:4px 0;font-size:12px}.about-text .lead{color:var(--text);font-size:17px;line-height:1.8}.about-text>p{color:var(--muted);margin-bottom:20px;font-size:14px;line-height:1.9}.about-facts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;margin-top:28px;padding-top:25px;display:grid}.about-facts div{flex-direction:column;gap:5px;display:flex}.about-facts .mono{color:var(--faint);margin-bottom:6px;font-size:11px}.about-facts strong{font-size:14px;font-weight:600}.about-facts span:last-child{color:var(--muted);font-size:13px}.interest-strip{border-bottom:1px solid var(--line);align-items:start;gap:35px;padding-block:25px;display:flex}.interest-strip .eyebrow{color:var(--accent);white-space:nowrap;padding-top:4px;font-size:11px}.interest-strip p{color:var(--muted);font-size:14px}.project-filters{flex-wrap:wrap;gap:7px;margin-bottom:27px;display:flex}.filter-button{border:1px solid var(--line);min-height:38px;color:var(--muted);border-radius:30px;padding:8px 15px;font-size:13px}.filter-button span{opacity:.75;margin-left:5px;font-size:12px}.filter-button:hover{border-color:var(--muted)}.filter-button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.project-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);min-width:0;transition:border-color .2s,transform .2s;overflow:hidden}.project-card:hover{border-color:var(--faint);transform:translateY(-3px)}.project-card.featured{grid-column:1/-1;grid-template-columns:1.2fr 1fr;display:grid}.project-visual{background:var(--visual-bg);border-bottom:1px solid var(--line);justify-content:center;align-items:center;height:255px;display:flex;position:relative;overflow:hidden}.project-visual>img{object-fit:contain;border-radius:5px;width:90%;height:auto;max-height:85%;transition:transform .4s;transform:rotate(-2deg)translateY(10px);box-shadow:0 15px 25px #0003}.project-card:hover .project-visual>img{transform:rotate(0)translateY(6px)scale(1.02)}.featured .project-visual{border-bottom:0;border-right:1px solid var(--line);background:var(--visual-featured);height:100%;min-height:370px}.featured .project-visual>img{width:92%;max-height:none}.project-visual .hardware-image{object-fit:cover;object-position:50% 47%;filter:brightness(.86);width:100%;height:100%;max-height:none;transform:none}.project-card:hover .project-visual .hardware-image{transform:scale(1.025)}.visual-tag{color:#e9efe6;background:#111613e6;border:1px solid #5e705f;border-radius:4px;padding:5px 9px;font-size:11px;position:absolute;top:17px;left:18px}.project-copy{padding:28px}.featured .project-copy{flex-direction:column;justify-content:center;padding:35px;display:flex}.project-topline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:19px;display:flex}.project-topline .mono{color:var(--faint);font-size:11px}.project-status{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.project-status>span{background:var(--accent);border-radius:50%;width:4px;height:4px;display:inline-block}.project-copy h3{font-size:27px}.project-copy h3 a{justify-content:space-between;align-items:center;gap:15px;display:flex}.project-copy h3 svg{color:var(--accent)}.project-copy>p{color:var(--muted);margin-block:15px 22px;font-size:14px;line-height:1.8}.tags{flex-wrap:wrap;gap:5px;display:flex}.tags span{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:4px 8px;font-size:12px;display:inline-block}.case-link{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:25px;padding-top:19px;font-size:13px;display:flex}.case-link:hover{color:var(--accent)}.projects-note{color:var(--faint);align-items:center;gap:10px;margin-top:23px;font-size:12px;display:flex}.project-card:last-child{grid-column:1/-1;grid-template-columns:1fr 1.2fr;display:grid}.project-card:last-child .project-visual{border-bottom:0;border-right:1px solid var(--line);height:100%}.research-visual{width:100%;color:var(--diagram-text);flex-direction:column;align-items:center;gap:28px;display:flex}.research-visual>.mono{letter-spacing:.15em;font-size:11px}.research-diagram{justify-content:center;align-items:center;width:80%;display:flex}.research-diagram>span{border:1px solid var(--diagram-line);text-align:center;width:75px;height:75px;font-family:var(--mono);background:var(--diagram-bg);border-radius:50%;padding-top:13px;font-size:16px;display:block}.research-diagram small{font-size:10px}.research-diagram i{background:var(--diagram-line);flex:1;max-width:44px;height:1px}.accent-violet .project-visual{background:var(--visual-violet)}.graph-visual{text-align:center;width:90%;padding:40px 0 18px}.graph-visual svg{fill:none;width:100%;max-height:200px}.graph-visual path{stroke:#817556;stroke-width:1.2px}.graph-visual circle{fill:#3c3d2b;stroke:#d6c191}.graph-visual text{fill:#eee1bd;stroke:none;font-family:var(--mono);text-anchor:middle;font-size:12px}.graph-visual>span{color:var(--education);font-size:11px}.skills-section{background:var(--surface);border-block:1px solid var(--line)}.skills-section .section-heading>svg{color:var(--accent)}.skills-layout{grid-template-columns:1.65fr 1fr;align-items:start;gap:65px;display:grid}.skill-tree{position:relative}.skill-root{border:1px solid var(--line);font-family:var(--mono);background:var(--bg);border-radius:6px;align-items:center;gap:13px;padding:16px 21px;font-size:12px;display:flex}.skill-root svg{color:var(--accent)}.root-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;margin-left:auto}.skill-branch{border-left:1px solid var(--line);margin-left:28px;padding:24px 0 3px 28px;position:relative}.skill-branch:before{content:"";border-top:1px solid var(--line);width:18px;position:absolute;top:37px;left:0}.skill-group-heading{align-items:center;gap:12px;margin-bottom:10px;display:flex}.skill-group-heading h3{letter-spacing:0;font-size:14px}.skill-group-heading .mono{color:var(--accent);font-size:11px}.skill-nodes{flex-wrap:wrap;gap:7px;display:flex}.skill-node{border:1px solid var(--line);min-height:36px;color:var(--muted);background:var(--bg);border-radius:5px;padding:8px 11px;font-size:12px}.skill-node:hover,.skill-node[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--soft-accent)}.skill-detail{border:1px solid var(--line);background:var(--bg);border-radius:9px;min-height:315px;padding:30px;position:sticky;top:120px}.skill-detail>.eyebrow{margin-bottom:28px;font-size:11px;display:block}.skill-detail>svg{color:var(--accent);margin-bottom:24px}.skill-detail h3{overflow-wrap:anywhere;margin-bottom:18px;font-size:25px}.skill-detail p{color:var(--muted);font-size:14px}.skill-note{border-top:1px solid var(--line);font-family:var(--mono);color:var(--faint);margin-top:27px;padding-top:20px;font-size:11px;display:block}.skill-detail .detail-label{font-family:var(--mono);color:var(--faint);margin-top:24px;font-size:11px}.skill-project-links a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 0;font-size:14px;display:flex}.skill-project-links a:hover{color:var(--accent)}.skill-work{margin-top:14px}.skill-work strong{color:var(--text);font-size:13px}.timeline-section{border-bottom:1px solid var(--line)}.timeline-layout{grid-template-columns:1.6fr 1fr;gap:90px;display:grid}.timeline-column-title{font-family:var(--mono);letter-spacing:.03em;color:var(--muted);margin-bottom:27px;font-size:12px;font-weight:400}.timeline{margin-left:5px}.timeline-item{border-left:1px solid var(--line);padding:0 0 35px 30px;position:relative}.timeline-item:last-child{border-left-color:#0000;padding-bottom:0}.timeline-item summary{cursor:pointer;padding-right:26px;list-style:none}.timeline-item summary::-webkit-details-marker{display:none}.timeline-point{background:var(--bg);border:1px solid var(--faint);border-radius:50%;width:9px;height:9px;position:absolute;top:5px;left:-5px}.timeline-item[open] .timeline-point{background:var(--accent);border-color:var(--accent)}.timeline-date{color:var(--faint);margin-bottom:10px;font-size:11px;display:block}.timeline-title{letter-spacing:-.025em;font-size:19px;font-weight:600;line-height:1.3;display:block}.timeline-org{color:var(--muted);margin-top:6px;font-size:13px;display:block}.expand-icon{color:var(--faint);font-size:20px;font-weight:300;transition:transform .2s;position:absolute;top:22px;right:0}.timeline-item[open] .expand-icon{transform:rotate(45deg)}.timeline-content{color:var(--muted);padding-top:14px;font-size:14px}.timeline-content .tags{margin-top:12px}.education article{border:1px solid var(--line);background:var(--surface);border-radius:7px;margin-bottom:15px;padding:25px}.education article>svg{color:var(--accent);margin-bottom:17px}.education article>.mono{color:var(--faint);font-size:11px}.education h4{margin:12px 0 9px;font-size:20px}.education p{color:var(--muted);font-size:13px}.education-type{color:var(--faint);margin-top:15px;font-size:12px;display:block}.learning-note{gap:13px;margin-top:22px;display:flex}.learning-note>span{font-size:30px;line-height:1}.learning-note p{font-size:12px}.research-section{padding-bottom:30px}.research-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1.2fr 1fr;gap:64px;padding:46px;display:grid}.research-panel .section-label{gap:10px;font-size:11px}.research-status{font-family:var(--mono);color:var(--purple);align-items:center;gap:8px;margin-bottom:20px;font-size:11px;display:inline-flex}.research-status .status-dot{background:var(--purple);box-shadow:none}.research-copy h2{font-size:37px}.research-copy>p{color:var(--muted);margin-block:20px 25px;font-size:14px;line-height:1.9}.research-log{padding-top:3px}.log-heading{border-bottom:1px solid var(--line);color:var(--purple);align-items:center;gap:10px;padding-bottom:20px;font-size:11px;display:flex}.log-heading>span{margin-left:auto}.log-entry{gap:17px;padding-top:24px;display:flex}.log-entry>span{color:var(--purple);font-size:12px;font-family:var(--mono)}.log-entry h3{letter-spacing:-.02em;margin-bottom:7px;font-size:14px}.log-entry p{color:var(--muted);font-size:13px}.research-caveat{border-left:2px solid var(--purple);background:var(--bg);border-radius:0 5px 5px 0;margin-top:27px;padding:13px 16px}.research-caveat strong{color:var(--purple);font-size:12px}.research-caveat p{color:var(--muted);margin-top:4px;font-size:12px}.contact-section{padding-block:100px 105px}.contact-grid{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:end;gap:48px;display:grid}.contact-grid .eyebrow{margin-bottom:23px;font-size:11px}.contact-grid h2{font-size:clamp(40px,4.9vw,64px);position:relative}.contact-grid h2 svg{width:48px;height:48px;color:var(--accent);margin-left:15px;display:inline}.contact-grid>div>p{max-width:360px;color:var(--muted);margin-block:22px 27px;font-size:14px}.contact-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.contact-actions .button{flex:0 auto}.contact-grid>div,.contact-links{min-width:0}.contact-links>a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:24px 0;display:flex}.contact-links>a:first-child{border-top:1px solid var(--line)}.contact-links>a>span{letter-spacing:-.03em;font-size:22px}.contact-links small{font-family:var(--mono);color:var(--faint);letter-spacing:.07em;margin-bottom:7px;font-size:10px;display:block}.contact-links small.inline{margin-left:5px;font-size:12px;display:inline}.contact-links a:hover{color:var(--accent)}.email-contact>a{overflow-wrap:anywhere;min-width:0}.email-contact .icon-button{flex-shrink:0}.email-contact{justify-content:space-between;align-items:center;gap:10px;padding-top:15px;font-size:14px;display:flex}.site-footer{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:27px;padding-block:38px 20px;display:grid}.site-footer>.brand{gap:0;font-size:18px}.site-footer>p{color:var(--faint);font-size:12px}.back-top{justify-self:end;align-items:center;gap:8px;font-size:12px;display:flex}.footer-bottom{border-top:1px solid var(--line);font-family:var(--mono);color:var(--faint);grid-column:1/-1;justify-content:space-between;align-items:center;gap:15px;padding-top:17px;font-size:11px;display:flex}.footer-bottom .text-button{font-size:11px;font-family:var(--mono)}.modal{color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:13px;width:min(640px,100% - 32px);max-height:min(88dvh,850px);padding:28px;overflow-y:auto;box-shadow:0 24px 100px #0007}.modal::backdrop{backdrop-filter:blur(7px);background:#050b08bb}.modal[open]{animation:.16s ease-out modal-enter}.modal h2{margin-bottom:14px;font-size:27px}.modal>p{font-size:14px}.dialog-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.dialog-header .eyebrow{font-size:11px}.dialog-header .icon-button{margin:-9px -9px -9px 0}.avatar-options{grid-template-columns:repeat(3,1fr);gap:16px;margin:25px 0;display:grid}.avatar-option{text-align:left;border:1px solid #0000;border-radius:8px;padding:6px}.avatar-option:hover{background:var(--surface-hover)}.avatar-option[aria-pressed=true]{border-color:var(--accent);background:var(--soft-accent)}.avatar-thumb{aspect-ratio:1;margin-bottom:8px;position:relative}.avatar-thumb img{object-fit:cover;border-radius:4px;width:100%;height:100%}.avatar-option>span{min-height:28px;padding-inline:2px;font-size:12px;display:block}.selection-check{background:var(--accent);width:24px;height:24px;color:var(--on-accent);border-radius:50%;place-items:center;display:none;position:absolute;bottom:6px;right:6px}.avatar-option[aria-pressed=true] .selection-check{display:grid}.dialog-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding-top:16px;display:flex}.dialog-footer .text-button{font-size:12px}.command-modal{padding:0}.command-search{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:22px;display:flex}.command-search>svg{color:var(--accent)}.command-search input{width:100%;min-width:0;color:var(--text);background:0 0;border:none;padding:5px;font-size:16px}.command-search input:focus-visible{outline-offset:4px}.key{border:1px solid var(--line);font-family:var(--mono);border-radius:4px;padding:6px;font-size:12px}.command-results{max-height:min(50dvh,400px);padding:9px;overflow:auto}.command-item{text-align:left;border-radius:5px;align-items:center;gap:12px;width:100%;padding:12px;font-size:14px;display:flex}.command-item:hover,.command-item:focus{background:var(--surface-hover)}.command-item>svg{color:var(--faint);width:16px;height:16px}.command-item small{color:var(--muted);margin-left:auto;font-size:12px}.command-modal .dialog-footer{padding:14px 21px;font-size:12px}.command-empty{text-align:center;color:var(--muted);padding:40px 25px}.achievement-list{margin-block:25px;padding:0;list-style:none}.achievement-list li{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:16px 0;display:flex}.achievement-list li>svg{color:var(--faint);flex-shrink:0}.achievement-list strong{font-size:14px;display:block}.achievement-list p{color:var(--muted);margin-top:3px;font-size:12px}.achievement-state{font-family:var(--mono);color:var(--faint);white-space:nowrap;margin-left:auto;font-size:11px}.achievement-list .unlocked>svg,.unlocked .achievement-state{color:var(--accent)}.toast{z-index:100;background:var(--surface-2);border:1px solid var(--accent);max-width:min(400px,100% - 48px);color:var(--text);border-radius:7px;padding:16px 22px;font-size:14px;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 28px #0003}.case-header{padding-top:48px;padding-bottom:50px}.back-link{color:var(--muted);margin-bottom:45px;font-size:13px}.case-eyebrow{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.case-header h1{font-size:clamp(40px,7vw,84px)}.case-subtitle{letter-spacing:-.035em;margin-top:20px;font-size:24px}.case-description{color:var(--muted);max-width:670px;margin-top:15px;font-size:15px}.case-actions{flex-wrap:wrap;gap:13px;margin-block:28px 20px;display:flex}.case-cover{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;padding:32px;overflow:hidden}.case-cover img{border-radius:5px;width:100%}.case-cover.hardware{place-items:center;display:grid}.case-cover.hardware img{width:auto;max-height:550px}.case-body{grid-template-columns:250px 1fr;gap:90px;padding-block:70px 30px;display:grid}.case-summary{align-self:start;position:sticky;top:120px}.case-summary nav{flex-direction:column;gap:13px;margin-top:22px;font-size:13px;display:flex}.case-summary nav a:hover{color:var(--accent)}.case-summary>div{border-top:1px solid var(--line);margin-top:30px;padding-top:25px}.case-summary p{color:var(--muted);margin-top:15px;font-size:14px}.case-content section{padding-bottom:65px}.case-content h2{margin-block:14px 25px;font-size:32px}.case-content p{color:var(--muted);font-size:14px;line-height:1.9}.architecture-flow{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:30px;display:grid}.architecture-flow>div{background:var(--surface);border:1px solid var(--line);border-radius:5px;padding:17px 12px;position:relative}.architecture-flow .mono{color:var(--accent);margin-bottom:12px;display:block}.architecture-flow strong{font-size:12px;font-weight:500;display:block}.architecture-flow svg{color:var(--accent);z-index:1;background:var(--bg);border-radius:50%;position:absolute;top:50%;right:-12px}.case-content .diagram-caption{margin-top:13px;font-size:12px}.solution-list{gap:20px;padding:0;list-style:none;display:grid}.solution-list li{color:var(--muted);align-items:start;gap:13px;font-size:14px;display:flex}.solution-list svg{color:var(--accent);flex-shrink:0;margin-top:4px}.case-content figure{margin-top:35px}.case-content figure img{border:1px solid var(--line);border-radius:8px}figcaption{color:var(--faint);padding-top:10px;font-size:12px}.case-participation{background:var(--surface);border-left:2px solid var(--accent);margin-top:25px;padding:20px 25px}.case-participation h3{margin-bottom:10px;font-size:16px}.case-content .editorial-note{color:var(--faint);margin-top:25px;font-size:12px}.next-project{border-top:1px solid var(--line);padding-block:40px 70px}.next-project>a{letter-spacing:-.04em;justify-content:space-between;margin-top:17px;font-size:36px;display:flex}.next-project>a:hover{color:var(--accent)}.next-project p{color:var(--muted);font-size:14px}.not-found{text-align:center;min-height:70vh;padding-block:90px}.error-number{font-family:var(--mono);color:var(--faint);font-size:110px;line-height:1.4;display:block}.error-number span{color:var(--accent)}.not-found h1{font-size:30px}.not-found p{color:var(--muted);margin-block:20px 30px;font-size:14px}@keyframes modal-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes avatar-enter{0%{opacity:.55;transform:scale(.98)}to{opacity:1;transform:scale(1)}}}@layer responsive{[data-mode=professional] .orbit-lines,[data-mode=professional] .map-coordinate,[data-mode=professional] .map-node,[data-mode=professional] .map-caption{display:none}[data-mode=professional] .odyssey-map{aspect-ratio:auto;height:340px;min-height:320px}[data-mode=professional] .map-avatar{width:230px}[data-mode=professional] .hero{padding-block:58px 0}[data-mode=professional] .hero h1{font-size:clamp(37px,4.1vw,58px)}@media (width>=1600px){.container{width:min(1340px,100% - 160px)}.hero h1{font-size:72px}}@media (width<=1100px){.container{width:calc(100% - 64px)}.header-inner{gap:20px;padding-inline:32px}.desktop-nav{gap:17px}.header-actions{gap:4px}.search-button kbd{display:none}.hero h1{font-size:50px}.hero{padding-top:45px}.map-node{gap:6px;padding:9px;font-size:12px}.map-node>svg{display:none}.map-node small{font-size:9px}.node-development{left:-2%}.node-research{right:-3%}.hero-description{max-width:350px}.about-grid{gap:45px}.skills-layout{gap:35px}.timeline-layout{gap:45px}.research-panel{gap:35px;padding:30px}.research-copy h2{font-size:31px}.contact-grid{gap:50px}.case-body{grid-template-columns:200px 1fr;gap:45px}}@media (width<=850px){.desktop-nav{display:none}.header-actions{margin-left:auto}.hero h1{font-size:42px}.hero-eyebrow .dim{display:none}.hero-actions{gap:8px}.hero-actions .button{gap:8px;padding-inline:13px;font-size:12px}.hero-description,.hero-name{font-size:14px}.map-node{padding:9px 7px;font-size:12px}.map-node .node-icon{width:20px}.map-node small{letter-spacing:0}.node-development{top:14%}.node-research{top:24%}.node-hardware{bottom:16%}.node-education{bottom:24%}.map-caption{font-size:9px}.avatar-trigger{font-size:12px;top:calc(100% + 18px)}.section{padding-block:75px}.section-counter{display:none}.about-grid{grid-template-columns:1fr 1.2fr;gap:30px}.about-text .lead{font-size:14px}.about-facts{grid-template-columns:1fr;gap:20px}.project-card.featured{display:block}.featured .project-visual{border-right:0;border-bottom:1px solid var(--line);height:330px;min-height:0}.featured .project-visual>img{width:83%}.project-visual{height:210px}.project-copy,.featured .project-copy{padding:24px}.project-copy h3{font-size:24px}.project-topline{flex-direction:column;align-items:start;gap:6px}.skills-layout{grid-template-columns:1.3fr 1fr;gap:25px}.skill-detail{padding:22px}.skill-detail h3{font-size:21px}.skill-branch{margin-left:15px;padding-left:19px}.skill-branch:before{width:12px}.timeline-layout{grid-template-columns:1.25fr 1fr;gap:30px}.research-panel{grid-template-columns:1fr;gap:35px;padding:35px}.research-copy h2{font-size:38px}.research-log{border-top:1px solid var(--line);padding-top:25px}.contact-grid{gap:35px}.contact-grid h2{font-size:42px}.contact-grid h2 svg{width:32px;height:32px;margin-left:3px}.contact-grid .button{font-size:14px}.site-footer>p{display:none}.site-footer{grid-template-columns:1fr 1fr}.footer-bottom{flex-wrap:wrap}.case-body{grid-template-columns:1fr}.case-summary{grid-template-columns:1fr 1fr;display:grid;position:static}.case-summary>.eyebrow{grid-column:1/-1}.case-summary>div{border:0;margin:0;padding-top:22px}}@media (width<=600px){:root{scroll-padding-top:84px}.container{width:calc(100% - 40px)}.header-inner{gap:8px;min-height:70px;padding-inline:16px}.brand{gap:7px;font-size:17px}.brand img{width:30px;height:30px}.header-actions{gap:0}.mode-button{gap:5px;min-height:38px;padding:8px;font-size:12px}.mode-button svg{display:none}.header-actions .icon-button{min-width:33px;min-height:40px}.header-actions .theme-button{display:none!important}.hero{grid-template-columns:1fr;padding-top:40px}.hero-eyebrow{margin-bottom:22px;font-size:11px}.hero-eyebrow .dim{display:inline}.hero-name{margin-bottom:14px}.hero h1{font-size:clamp(38px,10.8vw,61px);line-height:1.12}.desktop-break{display:none}.hero-description{max-width:360px;margin-top:20px;font-size:14px}.hero-actions{gap:8px;margin-top:23px}.hero-actions .button{padding:12px 14px;font-size:13px}.hero-contact{margin-top:18px}.odyssey-map{margin-top:40px;max-width:490px;margin-inline:auto}.map-node{gap:8px;padding:10px;font-size:13px}.map-node small{letter-spacing:.05em;font-size:9px}.map-node .node-icon{width:23px}.node-development{top:18%;left:0}.node-research{top:22%;right:0}.node-education{bottom:23%;left:0}.node-hardware{bottom:17%;right:0}.map-caption{font-size:10px}.avatar-trigger{font-size:12px;top:calc(100% + 22px)}.hero-bottom{margin-top:22px;padding-top:22px}.hero-bottom>.mono{max-width:170px;font-size:10px;line-height:1.8}.hero-bottom a{gap:8px;font-size:12px}.journey-strip{gap:7px;padding-block:14px;font-size:12px}.journey-strip>div{gap:7px}.journey-strip .progress-numbers{display:none}.progress-track{width:36px}.journey-strip .text-button{gap:5px;font-size:12px}.journey-strip .mono{font-size:11px}.journey-strip>div>svg{width:15px}.section{padding-block:64px}.section-label{gap:12px;margin-bottom:28px;font-size:11px}.section-label>span{width:26px;height:26px}.section-heading{margin-bottom:27px}.section-heading p{font-size:14px}.about-grid{grid-template-columns:1fr;gap:33px}.about-facts{grid-template-columns:1fr 1fr;gap:15px}.about-facts strong{font-size:13px}.about-facts span:last-child{font-size:12px}.interest-strip{flex-direction:column;gap:12px}.about-text .lead{font-size:15px}.project-filters{gap:6px}.filter-button{padding:8px 12px;font-size:12px}.project-grid{grid-template-columns:1fr;gap:20px}.featured .project-visual,.project-visual{height:220px}.featured .project-visual>img{width:90%}.project-card:last-child{display:block}.project-card:last-child .project-visual{border-bottom:1px solid var(--line);border-right:0;height:220px}.project-topline{flex-direction:row;align-items:center}.project-copy,.featured .project-copy{padding:23px}.projects-note{align-items:start;font-size:12px}.projects-note .status-dot{margin-top:5px}.skills-section .section-heading>svg{display:none}.skills-layout{flex-direction:column;gap:28px;display:flex}.skill-tree{width:100%}.skill-detail{width:100%;min-height:250px;scroll-margin-top:90px;position:static}.skill-node{min-height:40px;padding:8px 12px}.timeline-layout{grid-template-columns:1fr;gap:44px}.timeline-title{font-size:18px}.timeline-item{padding-left:25px}.education article{padding:23px}.research-panel{gap:30px;padding:25px}.research-panel .section-label{gap:7px;font-size:10px}.research-copy h2{font-size:30px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-grid h2{font-size:43px}.contact-grid .eyebrow{font-size:10px}.contact-grid .button{font-size:14px}.contact-actions .button{width:100%}.contact-grid h2 svg{margin-left:10px}.contact-links>a{padding-block:19px}.site-footer{gap:22px;padding-top:28px}.footer-bottom{gap:8px;font-size:10px}.footer-bottom>span:nth-child(2){flex-basis:100%;order:3}.modal{max-height:90dvh;padding:22px}.modal h2{font-size:24px}.avatar-options{grid-template-columns:repeat(2,1fr);gap:10px}.avatar-option>span{min-height:21px;font-size:12px}.avatar-thumb{max-height:140px}.dialog-footer{flex-wrap:wrap;gap:10px}.dialog-footer .small{font-size:12px}.command-modal{padding:0}.command-search{padding:15px}.command-modal .dialog-footer span:last-child{display:none}.achievement-list li{gap:10px}.achievement-list strong{font-size:13px}.achievement-list p{font-size:12px}.achievement-state{font-size:10px}.case-header{padding-top:24px;padding-bottom:35px}.back-link{margin-bottom:28px}.case-eyebrow{flex-direction:column;align-items:start;gap:8px}.case-eyebrow .eyebrow{font-size:11px}.case-header h1{overflow-wrap:anywhere;font-size:44px}.case-subtitle{font-size:21px}.case-description{font-size:14px}.case-cover{padding:10px}.case-body{gap:40px;padding-top:35px}.case-summary{grid-template-columns:1fr}.case-summary nav{flex-flow:wrap;gap:10px 20px}.case-summary>div{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.case-summary p{margin-top:10px}.case-content section{padding-bottom:45px}.case-content h2{font-size:27px}.case-content p{font-size:14px}.architecture-flow{grid-template-columns:1fr 1fr;gap:15px}.architecture-flow>div:nth-child(2) svg{display:none}.solution-list li{font-size:14px}.next-project>a{font-size:29px}.not-found{padding-block:70px}.not-found h1{font-size:26px}[data-mode=professional] .hero{padding-top:35px}[data-mode=professional] .hero h1{font-size:38px}[data-mode=professional] .odyssey-map{aspect-ratio:auto;height:260px;min-height:230px;margin-top:30px}[data-mode=professional] .map-avatar{width:170px;top:42%}.professional-nav{gap:12px 20px;font-size:13px}}@media (width<=360px){.header-inner{gap:6px;padding-inline:12px}.brand{gap:5px;font-size:15px}.brand img{width:26px;height:26px}.mode-button{padding:7px;font-size:11px}}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.project-card:hover,.map-node:hover,.button.primary:hover{transform:none}}@media print{:root{--bg:#fff;--text:#111;--muted:#333;--faint:#444;--surface:#fff;--line:#ccc;--accent:#355b22}.site-header,.js-only,.js .js-only,.odyssey-map,.hero-bottom,.site-footer,.project-filters,.case-summary,.toast,.exploration-only{display:none!important}.container{width:100%}.section{padding-block:25px}.hero,.about-grid,.project-grid,.skills-layout,.timeline-layout,.research-panel,.contact-grid,.case-body{display:block}.hero h1{font-size:35px}.project-card{break-inside:avoid;margin-block:20px}.project-visual{max-height:180px}.skill-detail{display:none}.case-cover{max-height:400px}.case-cover img{object-fit:contain;max-height:350px}}}.js-only{display:none!important}.js .js-only{display:flex!important}.js .mobile-menu-button{display:none!important}@media (width<=850px){.js .mobile-menu-button{display:flex!important}}@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}
