:root{--bg:#000;--bg-soft:#0a0a0a;--surface:#111;--surface-elevated:#191919;--border:#2d2d2d;--border-strong:#4a4a4a;--text:#fff;--off-white:#e9e9e9;--text-muted:#b5b5b5;--text-subtle:#858585;--accent:#fff;--accent-hover:#e9e9e9;--accent-ink:#000;--warning:#cfcfcf;--user-message:#e9e9e9;--shadow-panel:0 18px 56px #000000a6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color-scheme:dark;font-family:Arial,Helvetica Neue,Helvetica,ui-sans-serif,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}#root,body,html{background:#000;background:var(--bg);margin:0;min-height:100%;min-width:320px}body{color:#fff;color:var(--text)}body,button,input,textarea{font-family:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #fff;outline:2px solid var(--text);outline-offset:3px}::selection{background:#fff;background:var(--text);color:#000;color:var(--bg)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.floating-assistant{position:relative;z-index:80}.assistant-launcher{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffe6;border:1px solid #ffffffe0;border-radius:50%;bottom:calc(18px + env(safe-area-inset-bottom));box-shadow:0 14px 42px #00000094;color:var(--bg);cursor:pointer;display:inline-grid;font:inherit;font-size:11px;font-weight:750;height:54px;left:50%;letter-spacing:.02em;place-items:center;position:fixed;transform:translateX(-50%);transition:background .16s ease,box-shadow .16s ease,transform .16s ease;width:54px;z-index:82}.assistant-launcher:hover{background:var(--text);box-shadow:0 18px 50px #000000b3;transform:translateX(-50%) translateY(-2px)}.assistant-panel{grid-gap:10px;bottom:calc(14px + env(safe-area-inset-bottom));display:grid;gap:10px;grid-template-rows:minmax(0,1fr) auto;height:min(640px,calc(100dvh - 96px));left:50%;position:fixed;transform:translateX(-50%);width:min(680px,calc(100vw - 32px));z-index:81}.assistant-thread{animation:assistant-thread-in .34s cubic-bezier(.22,1,.36,1) 90ms both;-webkit-backdrop-filter:blur(24px) saturate(120%);backdrop-filter:blur(24px) saturate(120%);background:#080808c7;border:1px solid #ffffff2e;border-radius:26px;box-shadow:0 28px 80px #00000094,0 6px 22px #00000059;display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;overflow:hidden;transform-origin:bottom center}.assistant-header{align-items:center;border-bottom:1px solid #ffffff1f;display:flex;gap:16px;justify-content:space-between;min-height:64px;padding:12px 14px 12px 20px}.assistant-title{align-items:center;display:flex;gap:9px}.assistant-header h2{color:var(--text);font-size:14px;font-weight:650;letter-spacing:-.01em;margin:0}.assistant-status-dot{background:#0000;border:1px solid #ffffff7a;border-radius:50%;flex:0 0 auto;height:7px;width:7px}.assistant-status-dot-ready{background:var(--text);border-color:var(--text)}.assistant-status-dot-connecting{background:#ffffff6b}.icon-button{background:#0000;border:1px solid #0000;border-radius:50%;color:var(--text-muted);cursor:pointer;display:inline-grid;flex:0 0 auto;font:inherit;font-size:23px;height:42px;line-height:1;place-items:center;width:42px}.icon-button:hover{background:#ffffff12;border-color:#ffffff2e;color:var(--text)}.assistant-messages{display:flex;flex-direction:column;gap:12px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px 20px;scrollbar-color:#ffffff3d #0000;scrollbar-width:thin}.assistant-welcome{margin:auto 0;padding:26px 0}.suggestion-list{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.suggestion-button{animation:suggestion-in .3s cubic-bezier(.22,1,.36,1) both;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:hsla(0,0%,100%,.055);border:1px solid #fff3;border-radius:999px;color:var(--text);cursor:pointer;font:inherit;font-size:12px;line-height:1.35;min-height:42px;padding:9px 14px;text-align:left}.suggestion-button:nth-child(2){animation-delay:55ms}.suggestion-button:nth-child(3){animation-delay:.11s}.suggestion-button:hover{background:#ffffff1a;border-color:#ffffff80}.assistant-message{background:hsla(0,0%,100%,.075);border:1px solid #ffffff14;border-radius:16px;color:var(--text);font-size:14px;line-height:1.5;max-width:82%;overflow-wrap:anywhere;padding:11px 14px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.assistant-message-user{align-self:flex-end;background:#ffffffe6;border-bottom-right-radius:5px;border-color:#ffffffd6;color:var(--bg)}.assistant-message-assistant{align-self:flex-start;border-bottom-left-radius:5px}.assistant-message-error{border-color:#ffffff57}.assistant-message p{margin:0;white-space:pre-wrap}.assistant-typing{align-items:center;display:inline-flex;gap:5px;justify-content:center;min-width:54px}.assistant-typing>span:not(.visually-hidden){animation:typing-dot 1.1s ease-in-out infinite;background:var(--text-muted);border-radius:50%;height:5px;width:5px}.assistant-typing>span:nth-of-type(3){animation-delay:.12s}.assistant-typing>span:nth-of-type(4){animation-delay:.24s}.connection-error{align-items:center;background:#ffffff0f;border:1px solid #fff3;border-radius:12px;color:var(--text);display:flex;font-size:12px;gap:12px;justify-content:space-between;margin:0 14px 14px;min-height:44px;padding:8px 9px 8px 12px}.connection-error button{background:#0000;border:1px solid #ffffff57;border-radius:999px;color:var(--text);cursor:pointer;font:inherit;font-size:11px;font-weight:650;min-height:34px;padding:0 12px}.assistant-composer{align-items:flex-end;animation:assistant-pill-expand .36s cubic-bezier(.22,1,.36,1) both;-webkit-backdrop-filter:blur(24px) saturate(125%);backdrop-filter:blur(24px) saturate(125%);background:#0a0a0ac2;border:1px solid #ffffff3d;border-radius:999px;box-shadow:0 20px 58px #00000085;display:flex;gap:8px;min-height:60px;padding:7px 7px 7px 20px;transform-origin:center}.assistant-composer:focus-within{border-color:#ffffff94}.assistant-composer textarea{background:#0000;border:0;color:var(--text);font:inherit;font-size:14px;line-height:1.45;max-height:108px;min-height:44px;outline:0;padding:11px 0 7px;resize:none;width:100%}.assistant-composer textarea::placeholder{color:#ffffff7a}.assistant-composer textarea:disabled{cursor:not-allowed}.send-button{background:#fffffff0;border:0;border-radius:50%;color:var(--bg);cursor:pointer;display:inline-grid;flex:0 0 auto;font:inherit;font-size:18px;font-weight:750;height:46px;place-items:center;width:46px}.send-button:disabled{cursor:not-allowed;opacity:.3}@keyframes assistant-pill-expand{0%{opacity:.72;transform:scaleX(.08) scaleY(.9)}to{opacity:1;transform:scaleX(1) scaleY(1)}}@keyframes assistant-thread-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes suggestion-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes typing-dot{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (max-width:640px){.assistant-launcher{bottom:calc(10px + env(safe-area-inset-bottom));height:52px;width:52px}.assistant-panel{bottom:calc(8px + env(safe-area-inset-bottom));gap:8px;height:min(660px,calc(100dvh - 128px));width:calc(100vw - 16px)}.assistant-thread{border-radius:22px}.assistant-messages{padding:16px 14px}.assistant-message{max-width:91%}.assistant-composer{min-height:58px;padding-left:16px}}@media (max-width:360px){.assistant-header{padding-left:16px;padding-right:10px}.suggestion-list{display:grid;justify-content:stretch}.suggestion-button{width:100%}}@media (prefers-reduced-motion:reduce){.assistant-composer,.assistant-thread,.assistant-typing>span:not(.visually-hidden),.suggestion-button{animation:none}}.app-shell{background:var(--bg);color:var(--text);min-height:100dvh}.skip-link{background:var(--text);border-radius:6px;color:var(--bg);font-size:12px;font-weight:700;left:8px;padding:9px 12px;position:fixed;text-decoration:none;top:8px;transform:translateY(-150%);z-index:100}.skip-link:focus{transform:translateY(0)}.site-header{padding:10px 0 0;position:-webkit-sticky;position:sticky;top:0;z-index:40}.top-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#080808f0;border:1px solid #343434;border-radius:999px;box-shadow:0 10px 36px #00000073;gap:14px;justify-content:space-between;margin:0 auto;min-height:54px;padding:5px 6px;width:min(1180px,calc(100% - 24px))}.nav-identity,.nav-links,.nav-socials,.top-nav{align-items:center;display:flex}.nav-identity{gap:10px;min-width:0;padding-left:12px}.nav-socials{gap:2px}.nav-social-link{border:1px solid #0000;border-radius:50%;color:var(--text);display:inline-grid;flex:0 0 auto;height:36px;place-items:center;text-decoration:none;width:36px}.nav-social-link:focus-visible,.nav-social-link:hover{background:#181818;border-color:#5a5a5a}.nav-social-link img{height:17px;object-fit:contain;opacity:1;width:17px}.brand-name{color:var(--text);font-size:13px;font-weight:650;letter-spacing:-.02em;min-width:-webkit-max-content;min-width:max-content;text-decoration:none}.nav-links{gap:3px;padding:2px}.nav-link{align-items:center;border:1px solid #343434;border-radius:999px;color:var(--text);display:inline-flex;font-size:10.5px;font-weight:700;justify-content:center;letter-spacing:.035em;min-height:34px;padding:0 11px;text-decoration:none}.nav-link:focus-visible,.nav-link:hover{background:#1c1c1c;border-color:#777}.nav-link-active,.nav-link-active:focus-visible,.nav-link-active:hover{background:var(--text);border-color:var(--text);color:var(--bg)}main{min-height:calc(100dvh - 64px)}.page{margin-left:auto;margin-right:auto;width:min(1120px,calc(100% - 48px))}.page-enter{animation:page-enter .18s ease-out}.about-page{padding:0 0 152px}.about-hero{align-items:flex-start;display:flex;flex-direction:column;isolation:isolate;justify-content:center;min-height:calc(100svh - 64px);padding:clamp(72px,9vw,120px) 0 clamp(112px,13vw,168px);position:relative}.about-hero:after,.about-hero:before{content:"";left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);width:100vw;z-index:-1}.about-hero:before{background:radial-gradient(ellipse 65% 54% at 50% 40%,hsla(0,0%,100%,.065),#fff0 72%);inset-block:-64px 0}.about-hero:after{background:linear-gradient(to bottom,#0000,var(--bg));bottom:0;height:30%}.about-hero h1{color:var(--text);font-size:clamp(5rem,14vw,11rem);font-weight:500;letter-spacing:-.078em;line-height:.82;margin:0;position:relative;z-index:1}.about-hero h1 span{display:block}.explore-link{align-items:center;border-bottom:1px solid var(--border-strong);bottom:clamp(28px,5vw,58px);color:var(--text-muted);display:inline-flex;font-size:11px;font-weight:700;gap:10px;left:0;letter-spacing:.09em;padding:8px 0;position:absolute;text-decoration:none;text-transform:uppercase;z-index:1}.explore-link:focus-visible,.explore-link:hover{border-color:var(--text);color:var(--text)}.explore-link span:last-child{animation:explore-drift 2.2s ease-in-out infinite;display:inline-block;font-size:15px}.about-content{position:relative;scroll-margin-top:82px}.about-intro{grid-gap:28px clamp(48px,8vw,116px);border-bottom:1px solid var(--border);display:grid;gap:28px clamp(48px,8vw,116px);grid-template-columns:minmax(140px,.28fr) minmax(0,1fr);padding:clamp(84px,10vw,132px) 0 clamp(72px,9vw,112px)}.section-label{color:var(--text-muted);font-size:10px;font-weight:700;grid-column:1/-1;letter-spacing:.14em;margin:0;text-transform:uppercase}.about-lede{color:var(--text);font-size:clamp(1.25rem,2.1vw,1.8rem);font-weight:450;letter-spacing:-.025em;line-height:1.32;margin:0;max-width:520px}.about-contact{color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:8px 20px;grid-column:2;padding-top:10px}.about-contact a{color:var(--text);-webkit-text-decoration-color:#5e5e5e;text-decoration-color:#5e5e5e;text-underline-offset:4px}.about-contact a:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.certification-list a{color:var(--text);-webkit-text-decoration-color:var(--text-muted);text-decoration-color:var(--text-muted);text-decoration-thickness:1px;text-underline-offset:4px}.certification-list a:focus-visible,.certification-list a:hover{-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text)}.about-section{grid-gap:44px clamp(48px,8vw,116px);border-bottom:1px solid var(--border);display:grid;gap:44px clamp(48px,8vw,116px);grid-template-columns:minmax(140px,.28fr) minmax(0,1fr);padding:clamp(64px,8vw,96px) 0}.about-section:last-child{border-bottom:0}.about-section h2{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.13em;margin:0;text-transform:uppercase}.experience-list{grid-gap:0;display:grid;gap:0}.experience-entry{padding:0 0 52px}.experience-entry+.experience-entry{border-top:1px solid var(--border);padding-top:52px}.experience-entry:last-child{padding-bottom:0}.experience-heading{grid-gap:24px;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) auto;margin-bottom:22px}.about-grid h3,.experience-heading h3{color:var(--text);font-size:21px;font-weight:600;letter-spacing:-.025em;line-height:1.2;margin:0}.about-grid p,.experience-heading p{color:var(--text-muted);font-size:14px;line-height:1.5;margin:6px 0 0}.experience-meta{margin-top:0!important;text-align:right;white-space:nowrap}.experience-entry ul,.plain-list{color:var(--text);font-size:15px;line-height:1.62;margin:0;padding-left:1.15em}.experience-entry li+li,.plain-list li+li{margin-top:10px}.earlier-roles{grid-gap:12px;border-top:1px solid var(--border);display:grid;gap:12px;margin-top:30px;padding-top:22px}.earlier-roles p{color:var(--text-muted);display:flex;font-size:13px;gap:20px;justify-content:space-between;margin:0}.earlier-roles strong{color:var(--text);font-weight:550}.about-grid{gap:clamp(48px,10vw,140px);grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid>div{grid-gap:18px;align-content:start;display:grid;gap:18px}.about-grid h3,.about-grid p,.about-grid ul{margin-top:0}.about-grid .detail-meta{color:var(--text-subtle);font-size:12px;margin-top:-12px}.skill-line{color:var(--text)!important;font-size:15px!important;line-height:1.7!important}.content-page{min-height:calc(100dvh - 64px);padding:clamp(84px,10vw,140px) 0 152px}.page-heading{grid-gap:22px;border-bottom:1px solid var(--border);display:grid;gap:22px;padding-bottom:clamp(52px,7vw,84px)}.page-heading .section-label{grid-column:auto}.page-heading h1{color:var(--text);font-size:clamp(4rem,9vw,7.6rem);font-weight:500;letter-spacing:-.07em;line-height:.88;margin:0}.project-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));padding-top:clamp(38px,6vw,72px)}.project-card{align-items:flex-start;background:hsla(0,0%,100%,.025);border:1px solid var(--border);border-radius:22px;display:flex;flex-direction:column;min-height:420px;padding:clamp(26px,4vw,42px)}.project-dates{color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.12em;margin:0 0 30px;text-transform:uppercase}.project-card h2{color:var(--text);font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:550;letter-spacing:-.045em;line-height:1;margin:0}.project-description{color:var(--text);font-size:17px;letter-spacing:-.015em;line-height:1.5;margin:26px 0 0;max-width:520px}.project-card ul{color:var(--text-muted);font-size:14px;line-height:1.6;margin:28px 0 38px;padding-left:1.15em}.project-card li+li{margin-top:8px}.project-link{border-bottom:1px solid var(--text-muted);color:var(--text);font-size:11px;font-weight:700;letter-spacing:.035em;margin-top:auto;padding:8px 0 7px;text-decoration:none}.project-link:focus-visible,.project-link:hover{border-color:var(--text)}.contact-page{align-content:start;display:grid}.contact-list{display:grid;padding-top:clamp(38px,6vw,72px)}.contact-list a{align-items:center;border-bottom:1px solid var(--border);color:var(--text);display:flex;font-size:clamp(1.25rem,2.8vw,2rem);justify-content:space-between;letter-spacing:-.035em;min-height:78px;text-decoration:none}.contact-list a:after{color:var(--text-muted);content:"↗";font-size:13px}.contact-list a:first-child:after{content:"→"}.contact-list a:focus-visible,.contact-list a:hover{border-color:var(--text)}.visually-hidden{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}@keyframes page-enter{0%{opacity:0}to{opacity:1}}@keyframes explore-drift{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes section-reveal{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.about-intro,.about-section{animation-timeline:view();animation-range:entry 0 entry 28%;animation:section-reveal linear both}}}@media (max-width:760px){.top-nav{border-radius:24px;flex-wrap:wrap;gap:2px;min-height:88px;padding:5px;width:calc(100% - 16px)}.nav-identity{gap:8px;justify-content:space-between;padding-left:12px;width:100%}.brand-name{display:inline-flex;font-size:12.5px}.nav-socials{margin-left:auto}.nav-social-link{height:32px;width:32px}.nav-social-link img{height:15px;width:15px}.nav-links{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;width:100%}.nav-link{font-size:9.5px;min-height:32px;padding:0 7px;width:100%}.page{width:calc(100% - 32px)}.about-hero h1{font-size:clamp(4rem,21vw,7rem)}.about-hero,.about-page{padding-bottom:112px}.about-hero{min-height:calc(100svh - 98px);padding-top:68px}.about-grid,.about-intro,.about-section{grid-template-columns:1fr}.about-intro{gap:28px;padding-top:74px}.about-contact{grid-column:auto}.about-grid,.about-intro,.about-section{gap:34px}.experience-heading{gap:8px;grid-template-columns:1fr}.experience-meta{text-align:left}.content-page{min-height:calc(100dvh - 98px);padding:72px 0 112px}.project-grid{grid-template-columns:1fr}.project-card{min-height:380px}}@media (max-width:380px){.top-nav{width:calc(100% - 10px)}.nav-social-link{width:30px}.nav-link{font-size:9px;min-height:30px;padding:0 5px}.earlier-roles p{flex-direction:column;gap:3px}}@media (prefers-reduced-motion:reduce){.explore-link span:last-child,.page-enter{animation:none}}
/*# sourceMappingURL=main.8b6592e7.css.map*/